Guides

How Do I Track Visitors From Competitor Pages?

Turn competitor-comparison and alternatives-page visits into your fastest-converting pipeline. Full setup, signals, and outreach rules.

Elene Marjanidze Elene Marjanidze · · 9 min read
How Do I Track Visitors From Competitor Pages?

Someone visits your /vs/competitor page. They read your side-by-side comparison. They spend 3 minutes on it. They close the tab.

In that moment, they are more valuable to you than any other visitor on your site. Because they told you three things at once: they know your category, they are evaluating a specific competitor, and they are actively looking for a reason to switch. That is the highest-intent signal you will see short of a demo request.

Most teams do not instrument for it. They identify generic pricing-page visits, they identify generic blog visits, but they do not build a dedicated workflow for the subset that is actively shopping against a named alternative. This post is that workflow.

The answer up front

Treat competitor-page visitors as their own tier. They get a custom alert, a dedicated sequence, and outreach copy that specifically references the competitor comparison without sounding creepy. Reply speed should match your Tier 1 SLA: 7 minutes for high-intent competitor pages, 1 hour for broader “alternatives” content.

The instrumentation is five steps:

StepWhat it does
1Identify all competitor-facing pages on your site
2Configure Leadpipe to tag visits to those URLs
3Route competitor-tagged alerts to a dedicated channel
4Write comparison-aware outreach templates
5Measure switch-intent pipeline as a distinct metric

Why competitor-page visitors convert better

Three reasons.

  1. They have already done the category discovery. They are not debating whether they need your category. They are debating which vendor to pick.
  2. They have a named alternative in mind. You can build the conversation around the specific comparison they came to your page to make.
  3. They have friction with the alternative. People do not search for “Competitor X alternatives” when the competitor is serving them well. They search when something has broken.

Benchmark reply rates we have seen on well-configured competitor-page outreach: 20 to 30%. That is 2 to 3x the typical warm-outbound rate and roughly on par with inbound demo-request rates.

The playbook

Step 1: Identify your competitor-facing pages

Walk through your own site and list every URL that contains a competitor reference:

  • /vs/competitor-a, /vs/competitor-b
  • /alternatives, /alternatives-to-competitor-x
  • Blog posts with competitor comparisons (/blog/competitor-vs-us)
  • Migration guides (“moving from Competitor X to Us”)
  • Pricing pages that include competitor pricing callouts
  • Competitive FAQ pages

For a mid-sized B2B SaaS, this is usually 5 to 30 URLs. Get the full list. If you miss half of them, you will miss half the signal.

Tag each URL with which competitor it references, and what the implied intent is:

URLCompetitorIntent
/vs/competitor-xCompetitor XDirect comparison shopping
/alternatives-to-competitor-yCompetitor YActively seeking replacement
/migrate/from-competitor-zCompetitor ZPast evaluation, now migrating
/blog/competitor-x-pricing-explainedCompetitor XCost comparison

Step 2: Configure Leadpipe to tag visits to those URLs

In the Leadpipe dashboard, set up a page-group filter. Every identified visit that touched one of your competitor-facing URLs gets tagged in the webhook payload.

Webhook payload example (abridged):

{
  "first_name": "Morgan",
  "last_name": "Rios",
  "email": "morgan@ferrylabs.com",
  "company_name": "Ferry Labs",
  "page_url": "https://ourco.com/vs/competitor-x",
  "visit_duration": 187,
  "tags": ["competitor_page", "vs_competitor_x"]
}

Your downstream routing can then decide what to do based on those tags, without having to re-parse URLs.

Step 3: Route competitor-tagged alerts to a dedicated Slack channel

Do not dump these alerts into the general #sales-hot channel. They deserve their own lane because the outreach script is different.

Recommended channel structure:

#alerts-competitive    (all competitor-page visits)
#alerts-tier-1         (all high-intent generic alerts)
#alerts-tier-2         (all mid-intent generic alerts)
#alerts-customer-visits (existing-customer re-engagement signal)

For each competitor-page alert, the Slack message carries the context inline:

:crossed_swords: Competitor comparison visit - 7 min SLA

Who:   Morgan Rios · Head of Growth · Ferry Labs (72 FTE)
Page:  /vs/competitor-x (3m 7s)
Also:  /pricing (1m 20s)
Intent: shopping for alternative to Competitor X

AE:    @alice (round-robin)

Template: "switch-from-competitor-x-v1"
React :handled: when sent.

Route to a specific rep using your existing auto-routing rules. In-territory, account-owner-first, round-robin as fallback.

Step 4: Write comparison-aware outreach templates

Each competitor deserves its own template. The comparison is the whole point.

Template for “shopping for alternative to Competitor X”:

Subject: [Company Name] + [Our Product] vs [Competitor X]

Hi Morgan,

[Ferry Labs] is somewhere in our orbit evaluating [category]. If
you are comparing us to [Competitor X], here are the two places
our customers tell us the difference matters most:

  1. [Real concrete difference #1: e.g., "deterministic matching
     vs probabilistic"]
  2. [Real concrete difference #2: e.g., "native suppression lists"]

Happy to send a 5-minute comparison built for your size and
industry. Or a 15-min call if that is faster.

- [Rep first name]

Rules for this template:

  • Reference the competitor by name. They expect it.
  • Two concrete differences, not a feature dump.
  • Do NOT say “I saw you on our /vs page.” That crosses into creepy.
  • The frame is “if you are comparing us to Competitor X.” Implicit acknowledgement, not explicit.

Template for “migrating from Competitor Z”:

Subject: Thinking about moving off [Competitor Z]?

Hi Morgan,

I work with a handful of teams that moved from [Competitor Z] to
us over the last 18 months. Three things usually trigger the move:

  • [Common trigger #1]
  • [Common trigger #2]
  • [Common trigger #3]

If any of those resonate for [Company Name], happy to share a
migration playbook we put together with [ex-customer of Competitor Z].

- [Rep first name]

The template doubles as qualification. If none of the three triggers resonate, the prospect will tell you why they are looking, and you learn what is actually driving the switch.

Step 5: Measure competitor-page pipeline as a distinct metric

In your CRM, tag all opportunities sourced from a competitor-page alert with a custom source like source: competitor_page_x.

Report on:

  • Competitor-page alerts per month
  • Reply rate by competitor
  • Meetings booked per 100 alerts
  • Pipeline created per competitor
  • Win rate in competitor-specific deals

This data is gold for marketing. If /vs/competitor-x is producing 5x more alerts than /vs/competitor-y, your sales team is facing Competitor X way more often than Y. Marketing should reinforce the X comparison content. Product should prioritize features that matter in the X comparison.

Sample exclusion and priority rules

Not every competitor-page visitor deserves the full sequence. Run them through the same suppression layer you use for the rest of your stack (see the exclusion post).

Priority routing for competitor_page tag:

IF visitor.email_domain in CUSTOMER_DOMAINS:
    # Existing customer reading the vs page - churn risk
    route_to("csm_alerts")
    label = "customer reviewing competitor"

ELIF visitor.email_domain in COMPETITOR_DOMAINS:
    # The competitor themselves looking at our comparison
    route_to("competitive_intel")
    label = "competitor research"

ELIF visitor.company_size > 1000:
    route_to("enterprise_ae_alerts")
    sla = "7 min"

ELSE:
    route_to("alerts_competitive")
    sla = "7 min"

The customer-reading-vs-page rule matters. A paying customer visiting your comparison page is either validating their choice or evaluating alternatives. Either way, the CSM needs to know today, not next week.

Common failure modes

Missing pages. You tagged /vs/competitor-x but forgot /alternatives-to-competitor-x. Half your signal is invisible. Audit quarterly.

Generic outreach. Sending the same template regardless of which competitor they compared. The prospect can tell. Write one template per competitor, minimum.

Over-referencing the page. “I saw you on our /vs page today at 3:14pm.” Surveillance-coded. Reference the comparison, not the page.

Ignoring the customer-reads-vs-page signal. Your biggest customer visits the comparison page. Nobody notices. Six weeks later they churn. Do not let customer visits slip.

No templated responses. Reps write from scratch every time. SLA slips. Template per competitor, templated for two or three common segment variants (SMB / mid-market / enterprise).

Routing to the wrong team. Competitor research visits from the competitor itself should go to product or marketing intel, not to sales. Do not make a rep pitch a competitor’s own product manager.

No measurement lens for marketing. Sales runs the alerts, marketing never sees the data. Marketing should see the competitor-visit report weekly to inform content and positioning.

Treating all competitor tiers the same. A visit to your main /vs/competitor-x comparison is higher intent than a visit to a blog post that mentions Competitor X in passing. Score intent by page intent.

Measurement: how to know it is working

After 60 days, these numbers should emerge:

MetricTarget
Competitor-page alerts per monthScales with your traffic
Reply rate on competitor-page outreach20 to 30%
Meetings booked per 100 alerts10 to 20
Win rate on competitor-sourced oppsAt or above your inbound benchmark
Competitor-page-sourced pipeline as % of total5 to 15% within a quarter

The leading indicator to watch week-by-week is reply rate on the first-touch template. If it is below 15%, your template is too generic. If it is above 30%, copy it into every other warm-outbound sequence you run, it is working.

Why this is adjacent to but different from Orbit

Orbit identifies people researching your category across the open web, whether or not they visit your site. That is the inverse of this post’s use case.

  • Competitor-page tracking: who came TO you from (or while evaluating) the competitor
  • Orbit: who is researching the category anywhere on the web, not just your site

The two work together. Orbit finds them pre-site. Competitor-page tracking catches them the moment they land on your comparison. Running both gives you the full funnel: off-site intent to on-site intent to outreach.

See also orbit competitive intelligence for the off-site competitive angle.

On US B2B traffic Leadpipe identifies 30-40%+ of visitors deterministically with full contact data. Deterministic matching matters especially here because the worst thing you can do on a competitor-page alert is false-match to the wrong person and pitch a switch they are not actually considering. In the independent accuracy test, Leadpipe scored 8.7/10, RB2B 5.2, Warmly 4.0.

Leadpipe identifies 30-40%+ of your US B2B visitors with full contact data on the Pro plan at $147/mo. No credit card to start the 500-lead trial. Start identifying visitors →