Buying signal: competitor complaints

Competitor complaints: how to find buyers ready to switch

A public complaint about a competitor tells you three things: the company already pays for your category, the current tool is failing them, and they may be open to switching. Here is how to find those posts, qualify them and write to the right person without sounding like you were watching.

Get started See pricing $1 for 3 days, then $99/month

Updated · 15 min read

Why does a complaint about a competitor predict a purchase?

Most outbound has to create a problem in the buyer's mind before it can sell a solution. A complaint skips that step. The person posting has already decided the problem is real, already spends money on the category, and is telling strangers that the current vendor is not working out.

That does not mean every complaint is a lead. People vent after a bad support call and then stay for years. The complaints that predict a switch usually carry a second detail: a renewal date, a price increase, a feature that was removed, a team that outgrew the plan, or an outage that hit their own customers. Those details turn frustration into a decision with a deadline.

Read the complaint as a buyer's brief. It names the incumbent, the failure and often the size of the team. Few cold leads come with that much context.

Where do complaints show up, and what does a real one look like?

Complaints cluster where practitioners talk to each other: subreddits for a job or an industry, replies under a vendor's own posts on X, and threads that rank in search results for queries like "[tool] support" or "[tool] price increase". Founders and team leads post them because they want to know whether others see the same thing and what they moved to.

A typical example (paraphrased and fictional): "We're a 25-person support team on a well-known help desk. Since the plan change, the features we use cost almost double, and support now takes four days to answer. Renewal is in March. Is anyone else dealing with this?" That single post gives you team size, function, the incumbent, two concrete failures and a date.

Two quieter places deserve a regular look. Review sites such as G2 collect low-star reviews that name the exact failure, usually next to the reviewer's role and company size band. Many reviewers stay anonymous, so use reviews as research for your messaging rather than as leads. The vendor's own channels (its community forum, its status page, the replies under its announcements) tell you when one complaint is about to become a wave.

Reading a complaint: what each type tells you
Complaint aboutWhat it usually meansAngle that fits
Price or plan changeBudget is under review; finance may be involvedTotal cost at their team size, without rebuilding the setup
Slow or absent supportDaily work is blocked; the user feels ignoredHow support works on your side, with response times you actually meet
A removed or missing featureA specific workflow brokeShow that workflow, and only that workflow
Outages or bugsTheir own customers felt it; trust is damagedYour reliability record and how you communicate incidents
Outgrew the toolThe team scaled; the plan or its limits did notWhat changes at the next size up

How can you find competitor complaints yourself?

You do not need software to test this signal. A spreadsheet, a few saved searches and a free alert will show you within two weeks whether your competitors' users complain in public, and in which words. Startories automates the same loop; doing it by hand first tells you which phrases deserve a funnel.

  1. List every name the incumbent goes by

    The product name, the company name if it differs, common misspellings, the names of its plans or modules, and its old name if it rebranded. Users rarely type the full brand name, and abbreviations are common.

  2. Pair each name with words of frustration

    Price increase, renewal, support ticket, downtime, "switching from", "cancel", "anyone else", "is it just me". Keep one list per complaint type from the table above, because each type needs a different email.

  3. Search the newest posts first

    On Reddit, search the name and sort by New. On X, use the Latest tab or advanced search with a date range. On Google, put the name and a complaint word in quotes, limit results to one site with the site: operator and set the date filter to the past week, for example site:reddit.com "[competitor]" "price increase".

  4. Turn the searches into alerts

    F5Bot is a free service that emails you when a keyword appears on Reddit, Hacker News or Lobsters; paid listening tools cover more sites. An alert on the competitor's name alone is noisy. The name plus a complaint word usually makes a manageable daily email.

  5. Log every hit the same way

    Date, link, company if known, complaint type, team size, any date mentioned. After a month, the log shows which complaint types come from companies you can sell to and which come from people you never could.

Watch for the events that start complaint waves

Complaints are rarely random. They bunch up after something the vendor did, and you can often see the event before the posts arrive:

  • A pricing change or a retired plan. Users complain when it is announced and again when their renewal quote arrives.
  • An acquisition. Customers ask in public what will happen to the roadmap, the support team and the price.
  • A long outage on the vendor's status page, especially one that reached their customers' customers.
  • A removed integration or a tighter API limit, which breaks workflows other teams built on top.
  • A change to the support model, such as moving smaller accounts to email-only help.

Which complaints are worth acting on?

A quick score stops you from spending a verified contact on someone who was only letting off steam. The weights below are an example to adapt, not a standard. Our guide to lead scoring explains how to build and tune a model of your own.

Example scoring for a complaint (adapt the weights to your market)
Detail in the postExample pointsWhy it matters
Money: price, plan, budget, invoice+3Finance is involved, so a decision is likely
A date: renewal, contract end, a deadline+3It tells you when the decision happens
Team language: "we", "our team", a headcount+2A company is affected, not one user
Evaluation language: "what are the options", "has anyone moved"+2The poster has started to act
Company and size inside your ICP+2You can actually sell to them
Pure venting, no detail0Often resolved within days
Older than 30 days-3The moment has probably passed

Four example posts, scored (all fictional)

  • "Our CRM vendor just moved API access to its top tier. We're 18 people and renew in June. What are the options?" Money, date, team, evaluation and a likely fit: 12 points. Reach the decision-maker this week.
  • "Every time their sync breaks, our ops team re-keys orders by hand. Third time this month." Team language and a probable fit, but no money or date: 4 points. Worth an email once the company is identified.
  • "Support has ignored my ticket for five days. Unreal." No company, team or date: 0 points. Note the weak spot for your messaging and move on.
  • "Two years ago we hated this tool too." An old thread with no decision attached: below zero. Skip it.

Common false positives

  • Venting with no intent. An outage post often disappears once service is back. The score above filters most of these.
  • People with a stake. Employees of rival vendors, affiliates and consultants sometimes post "complaints" to steer readers. Profiles and posting patterns usually give them away.
  • Consumers. Many complaints come from individual users of a product that also sells to businesses. Startories is built for business buyers, so anyone outside your ICP is dropped.
  • Old threads. Search results resurface posts from years ago. The date of the signal matters more than its ranking.
  • Your own gaps. If the complaint is about a weakness your product shares, do not send. The buyer will find the same problem in the demo.

How Startories turns a complaint into a verified contact

  1. Spots and classifies the post

    Startories reads Reddit, X and niche search results for your competitors' names and the words people use when they are unhappy. Each hit is classified, so a real complaint is separated from a joke, a question or a reseller's pitch, and the link to the original post is kept.

  2. Ties it to a company

    The post is matched to a real business using the details that are public: a company named in the thread, a linked website, a profile that states where the person works. If no company can be identified with confidence, the post does not become a lead.

  3. Checks it against your ICP

    Size, industry, region and use case are compared with your ideal customer profile. The score comes with written reasons, for example "25-person support team, US, on the competitor you target, renewal mentioned", so you can see why the lead was kept.

  4. Finds who signs the switch

    The person who complained is often a user, not the buyer. Startories identifies the decision-maker, such as the head of support or the founder at a small company, and verifies their business email before anything is sent.

  5. Drafts a switch-focused email

    The angle is the failure the company is living with, not the post itself. You can approve each draft, or let the funnel send within its limits once it has proven itself.

Reach companies with a reason to buy this week

Startories finds the buying signal, verifies the decision-maker and runs the outreach until they book a call.

What should you say to someone who just complained about your competitor?

Write about the problem the company has, in your own words, as if you had heard it from ten similar teams (you probably have). The poster should never feel that a vendor was reading over their shoulder, and the decision-maker, if it is someone else, should never learn about the post from you.

First lines that work

  • "Teams your size on per-agent help desks got hit hard by this year's plan changes. We price by team, not by feature tier, and we move your ticket history over for you."
  • "If slow vendor support is holding up your own support team, here is how we handle it: a named contact and replies the same business day."
  • "Renewals are usually when support teams compare options. If you are doing that before spring, I can send a two-minute walkthrough of how an import from your current help desk works."

A three-email sequence for a price complaint

Here is how the help desk example above could play out, written to the head of support of that 25-person team. Names and numbers are fictional.

Email 1, within a day of the post. Subject: "Help desk cost at 25 agents". "Hi Dana, a lot of support teams around your size are rechecking their help desk bill this year, usually because a feature they rely on moved up a tier. We price per team, so the bill does not jump when you need one more feature. Before your next renewal, would a line-by-line cost comparison for 25 agents help?" The subject uses their numbers, the first line describes a pattern rather than the post, and the offer is a document Dana can forward to finance, not a demo she has to sit through.

Email 2, three days later. "One question teams ask before switching: what happens to ticket history and macros? We move both, and most teams run the two tools side by side for a week before cutting over. Want the migration checklist?" It answers the fear of moving before it turns into an objection.

Email 3, about six weeks before the renewal the post mentioned. "Renewal quotes tend to arrive a few weeks before the date. If you want a comparison in hand when yours does, reply with your agent count and I'll send it the same day." This is the email that meets the real decision. The sequence stops as soon as Dana replies.

Adjust the angle to the person who signs

  • Head of support or customer success (teams of 10 to 50): the daily cost. Tickets waiting, agents working around the tool, response times their own customers notice.
  • Founder or CEO (under 20 people): the total bill and the time to switch. They want one number and one date.
  • Finance or operations lead: price per seat over the contract term, what changes at the next headcount, and whether the switch can line up with the renewal.
  • Engineering lead, when the complaint is about an API, limits or reliability: rate limits, uptime history, how incidents are communicated, and how much of their code the migration touches.

What not to say

  • "I saw your post on Reddit about…" It proves you were watching and puts the person on the defensive.
  • Their own words, quoted back, even partly. Paraphrase the business problem instead.
  • Attacks on the competitor. Let the buyer draw the conclusion; your job is to show the alternative.
  • A subject line that fakes a conversation, such as "Re: your help desk question". It misleads the reader, and US email law treats deceptive subject lines as a violation (see the rules below).
More openers built around specific triggers are in our cold email templates.

How fast should you reach out?

Fast. The competitor switchers funnel on our homepage sends outreach within 24 hours of the post, because a complaint has a short life. Within a few days the vendor may have fixed the issue or offered a discount, or the person may have taken advice from the thread and picked someone else.

The exception is a complaint that names a date. If the renewal is four months away, send the first email now, while the frustration is fresh, and plan a shorter note a few weeks before the renewal. That later email is where the decision is actually made. A simple calendar for one complaint:

  • Day 0 to 1: first email to the decision-maker, about the problem.
  • Day 3 to 4: the short migration answer.
  • About six weeks before a stated renewal: the comparison offer.
  • After that: stop. A fresh signal from the same company, such as a search for alternatives, is a better reason to write again than a fourth reminder.

What rules and etiquette apply?

Three sets of rules meet here: the platform's, the community's and the law that covers your email. Getting any of them wrong costs more than the lead is worth.

  • Platform terms. Reddit's Data API Terms govern how software may access and use Reddit content, and X sets its own developer rules. Reading public posts through compliant access is one thing; scraping around those rules is another. Startories uses official APIs and compliant sources where they are available.
  • Community rules. Most subreddits restrict self-promotion, and moderators remove vendors who pitch in threads or private messages. Do not answer a complaint thread as a vendor unless the community allows it, and never under a made-up identity.
  • Email law. In the US, commercial email falls under CAN-SPAM, B2B messages included: accurate sender information, a subject line that does not mislead, a valid postal address and an opt-out honored within 10 business days, as the FTC's CAN-SPAM compliance guide explains. The EU, the UK and Canada set stricter conditions, so check them before writing to people there.
  • Plain decency. Write to the company about its problem, never about a person's post. Do not forward the post to their manager, and do not mock the competitor in writing: emails get forwarded.
Everything Startories uses is public business information. Only verified business emails are contacted, every email includes an opt-out, and contacts who unsubscribe or bounce are suppressed across all your campaigns.

How do you measure a competitor switchers funnel?

Judge the funnel on meetings and switches, not on emails sent. Complaints produce fewer leads than a purchased list, so what matters is what each one becomes. Startories reports replies and meetings for every funnel; these are the ratios worth computing around them:

  • Match rate: complaints tied to a real company ÷ complaints found. A low rate means your sources are full of anonymous or consumer posts.
  • ICP pass rate: leads that fit ÷ companies matched. If it stays low, your searches catch the wrong segment, often individual users of a product that also has business plans.
  • Hours to first email: time from the post to the first send. Track the median; this signal decays faster than most.
  • Positive replies by complaint type: price, support, missing feature, outage, outgrew. One or two types usually carry the funnel, so shift your searches toward them.
  • Meetings and switches by competitor: meetings ÷ leads contacted, deals won ÷ meetings, and which incumbent each win came from.

A worked example with assumed numbers

Assume you sell help desk software at $9,000 a year per customer and watch two competitors. In one month you find 120 complaints. 40 resolve to a company, 22 fit your ICP and you reach 20 decision-makers. Suppose two book a meeting and one switches. That customer is worth $9,000 in year one, against $99 a month for the Starter plan.

These numbers are invented to show the math, not to predict yours. Your own log will give you real ratios within a few weeks, and the weakest one tells you what to fix first: the sources, the ICP filter or the email.

Which offers fit this signal, and how do you start?

Complaints work best when your buyer already uses a clear incumbent and switching is realistic in weeks, not quarters. That covers most B2B SaaS and many developer tools, where people discuss vendors openly and migrations are common.

Service businesses benefit too, because agencies have competitors as well. A founder writing "our SEO agency sends a monthly PDF and nothing ranks" is complaining about a competitor. SEO agencies and marketing agencies can run the same funnel on posts about agencies, freelancers or in-house setups that failed. For problems that have not been pinned on a vendor yet, see pain-point signals.

To start, pick the two or three competitors your best customers came from, and the words their users use when they are unhappy. That is enough for a first funnel. Starter ($99 a month, with the first project on a 3-day full-access trial for $1) gives you one funnel, one ICP and one intent source; Growth adds funnels and sources if you want to watch several categories. See plans and pricing.

To see how this fits a broader approach, read how signal-based outbound works and our overview of buying signals with examples. If Reddit is where your buyers talk, the Reddit lead generation page covers that source in detail.

Frequently asked questions

Is it legal to email someone who complained about a competitor in public?

In the US, B2B cold email is allowed if you follow CAN-SPAM: an honest sender and subject line, a physical address and a working opt-out. Startories only contacts verified business emails and includes an opt-out in every message. Other countries have stricter rules, so check yours.

Should I mention the post in my email?

No. Write about the business problem the post revealed, not the post itself. Mentioning it feels like surveillance, and if the decision-maker is not the person who posted, it can embarrass their colleague. The link stays in Startories so you keep the context.

How does Startories know which competitors to watch?

You tell it. During setup you name the competitors and the problems your product solves better, and the searches are built around them. A human team reviews targeting early on, and you can adjust the list once you see which complaints turn into replies.

What if the person who complained is not the decision-maker?

That is common. A support agent may post while the head of support signs the contract. Startories finds the decision-maker and writes to them about the problem their team faces, without referring to a colleague's post.

How long does a complaint stay useful?

A few days for the first email, which is why the funnel acts within 24 hours. If the post mentions a renewal date, the signal stays relevant until that date, so a short follow-up a few weeks before it is worth planning.

Can I use review sites like G2 to find unhappy customers?

Use them for research. Low-star reviews show the exact failures buyers care about and the words they use, which sharpens your emails. Many reviewers are anonymous, though, so reviews rarely become leads on their own. Public posts tied to a company work better.

Sources

Turn fresh buying signals into booked calls

Signals, qualification, verified decision-makers, personalized outreach and reply handling in one engine. Start your first project at $1 for 3 days, then $99/month.