Workflow · Measurement
Did the vs-page
actually flip the SERP?
A monthly Claude prompt that pulls GSC + SERP data for every vs-comparison page you've shipped, scores each page across 4 trajectory metrics, and tells you which to kill, refresh, double-down, or wait on. The measurement workflow that closes Track 02's diagnose-build-measure loop, every page that gets built also gets tracked.
- Position · impressions · CTR · branded lift
- 4metricsPosition · impressions · CTR · branded lift
- Wait · Climbing · Winning · Stalling · Regressing
- 5statesWait · Climbing · Winning · Stalling · Regressing
- Min before SERP trajectory readable
- 6-8wksMin before SERP trajectory readable
- Monthly cadence
- 20minMonthly cadence
01The Problem in 60 Seconds
You shipped 9 vs-pages last quarter.
Three are working. Five aren't. One is killing you.
A B2B SaaS team ships 9 vs-pages over a quarter using the gap finder + alternatives page system. Six weeks later, somebody asks the SEO question every CMO asks: "are they working?" The team checks GSC for total comparison-page impressions and sees a line that's slightly up. They declare victory. What they miss: 3 pages are at position #2-3 driving most of the traffic, 5 pages are stuck at position #15-25 contributing nothing, and 1 page got replaced by an aggressive competitor refresh and is regressing fast. The aggregate number hides the per-page reality.
The deeper problem is that vs-pages are a portfolio, not a campaign. Each page targets a specific query battery, climbs through Google's evaluation period at its own pace, settles at a position determined by its content quality + competitive context, and then either holds or drifts based on what competitors do over the next 12 months. A single quarter's batch of 9 pages will produce 3-5 winners, 2-3 stallers, and 1-2 regressors, and the right action is different for each.
This workflow runs the per-page assessment. Claude pulls GSC data for every vs-page in the portfolio, runs a SERP check via web search, scores each page across 4 trajectory metrics (average position, impression growth, CTR change, branded query lift), classifies each page into one of 5 trajectory states, and outputs a per-page action recommendation. Run monthly, the cadence catches stalling pages before they accumulate too many sunk costs and catches winning pages early enough to invest more behind them.
- Diagnose · Quarterly vs-Comparison
Gap Finder - Build · Per page Alternatives
Page System - Measure · Monthly vs-Page Performance Tracker
(this workflow)
02The Prompt
Copy this prompt into
Claude Desktop.
The gold variables (your brand, vs-page list with ship dates, and reporting period) are the parts you edit. Save the page list in a markdown file you keep updated as new pages ship.
RoleYou are running the monthly vs-page performance review for my B2B SaaS company. For every shipped vs-comparison page, pull GSC data, run a SERP check, score each page across 4 trajectory metrics, classify into one of 5 states (WAIT / CLIMBING / WINNING / STALLING / REGRESSING), and output a per-page action recommendation. My BrandBrand: [your B2B SaaS brand name] Reporting period: last 30 days vs prior 30 days GSC property: [your GSC property URL] vs-Page Portfolio// List every vs-page you've shipped, both directions. Format: URL | target query | ship date. 1. /vs/competitor-a | YourBrand vs Competitor A | 2026-01-15 2. /competitor-a-vs-yourbrand | Competitor A vs YourBrand | 2026-02-08 3. /vs/competitor-b | YourBrand vs Competitor B | 2026-02-22 // Add all live vs-pages TaskFor each page in the portfolio: 1. Calculate page age in weeks (from ship date to today). 2. If age < 6 weeks → classify as WAIT, no further analysis needed. 3. If age >= 6 weeks → run the full assessment. METRIC 1 · Average position - Pull GSC average position for the page in last 30 days vs prior 30 days. - Calculate position change (+ for improvement, − for regression, note GSC is inverse: position 1 is better than position 5). - Categorize current position: TOP_3 (positions 1-3), TOP_10 (4-10), TOP_30 (11-30), DEEP (31+). METRIC 2 · Impression growth - Pull GSC impressions in last 30 days vs prior 30 days. - Calculate impression growth percentage. - Flag growth > 25% as STRONG, 0-25% as MODERATE, negative as DECLINING. METRIC 3 · CTR change - Pull GSC CTR for the page in last 30 days vs prior 30 days. - Calculate CTR change percentage. - A CTR drop while position improves indicates the SERP context shifted (more featured snippets, AI overviews, or stronger competitor titles compressing CTR). METRIC 4 · Branded query lift - Pull GSC data for branded queries containing your brand name in last 30 days vs prior 30 days. - Filter to people who saw the brand for the first time on this page (use country/device/timing heuristics if landing-page-to-branded-query data isn't directly available). - A vs-page that drives branded query lift is the highest-value type. It's converting research traffic into eventual brand awareness. SERP check via web_searchFor each non-WAIT page, run a web_search for the target query and capture: - Whether your page appears in top 5 organic - Whether the competitor's reverse page appears - Whether AI overviews / featured snippets are dominating - Any new competitor pages that have launched in this query space Trajectory classificationCombine the 4 metrics into 1 of 5 states: WAIT (age < 6 weeks): too early to evaluate. Re-check in 4 weeks. CLIMBING (age 6-12 weeks AND position improving by 2+ slots OR impressions growing > 50%): healthy trajectory through evaluation period. WINNING (age >= 6 weeks AND position TOP_3 AND impressions growing or stable): page is succeeding. STALLING (age >= 12 weeks AND position TOP_10 or worse AND no improvement in last 4 weeks): page is plateaued. REGRESSING (page lost 3+ position slots OR impressions declined > 25% over last 4 weeks): page is losing ground. Per-page action recommendationWAIT → "WAIT" (no action; re-check in 4 weeks) CLIMBING → "WAIT" (let evaluation period complete; minor optional optimization, add FAQ schema if missing) WINNING → "DOUBLE-DOWN" (internal-link from related pages; refresh creative every 90 days; cite as evidence in next gap-finder run) STALLING → "REFRESH" (re-run Alternatives Page System with this page as input; common refresh patterns: better headline, restructured comparison table, stronger differentiation) REGRESSING → "INVESTIGATE" (find the cause (competitor refresh, Google algorithm shift, internal site issue) before deciding to refresh or kill) Special case: if a page has been STALLING for 2+ consecutive monthly checks AND a refresh has already been attempted → "KILL" (repurpose the URL for a different vs-pair or remove from sitemap). Output format1. Headline: total vs-pages in portfolio, count by trajectory state, the single most urgent action. 2. Per-page status table: 1 row per page. Columns: page URL / age / current position / position trend / impression growth / trajectory state / recommended action. 3. Action breakdown: count of pages by recommended action (DOUBLE-DOWN / REFRESH / INVESTIGATE / WAIT / KILL). 4. Top 3 priorities for the next 30 days: most urgent actions to take, with rationale. 5. Honest calibration: - If portfolio is < 5 pages, flag that single-page outcomes will dominate the aggregate, interpret with caution. - If 50%+ of pages are STALLING, surface this as a systemic issue with the underlying alternatives page production approach, not individual page failures. - If competitors have shipped multiple new pages in the last 30 days affecting REGRESSING pages, flag this as a competitive intelligence event worth its own investigation. // Be specific about position changes, "moved from #14 to #8" is more actionable than "improved." // Be honest about the 6-week minimum. Pages younger than 6 weeks have no signal, declaring them failures is the most common premature-kill mistake. // The action recommendation is the most actionable output. Make it specific enough that the operator knows what to do without re-reading the analysis. // REGRESSING is the rarest but most urgent state, a page going backwards is usually a competitive event, not a quality issue.
GSC connector required + web search. The workflow uses google_search_console via the free Growthspree MCP for the GSC pulls, and Claude's built-in web_search for the SERP check. The portfolio list of vs-pages is the most important input, keep it updated as new pages ship via the Alternatives Page System workflow.
03What Claude Returns
Per-page status. Per-page action.
Sample output for a hypothetical mid-market B2B SaaS brand with 9 vs-pages shipped over the last 5 months. The portfolio shows the typical distribution: 3 winners, 2 climbers, 2 stallers, 1 regressor, 1 too-new-to-evaluate.
Claude · GSC + web_search
Pulling GSC data for the 9 pages in your portfolio and running SERP checks for the 8 that are 6+ weeks old.
growthspree.gsc.search_analytics { pages: [9 URLs], dimensions: ["page","query"], date_range: "last_60d" } web_search "yourbrand vs competitor a" web_search "yourbrand vs competitor b" + 6 more SERP checks
9 vs-pages assessed. Distribution: 3 WINNING · 2 CLIMBING · 2 STALLING · 1 REGRESSING · 1 WAIT (too new). Single most urgent finding: the Competitor B vs YourBrand page lost 7 position slots in the last 30 days after Competitor B shipped a refreshed comparison hub. Investigate before refreshing.
| Page | Age | Pos | Trend | Impr Δ | State | Action |
|---|---|---|---|---|---|---|
/vs/competitor-atarget: yourbrand vs competitor a | 19w | #2 | ↑ 1 | +34% | Winning | Double-down |
/competitor-a-vstarget: competitor a vs yourbrand | 15w | #1 | ↑ 2 | +58% | Winning | Double-down |
/vs/competitor-btarget: yourbrand vs competitor b | 14w | #3 | → | +12% | Winning | Double-down |
/competitor-b-vstarget: competitor b vs yourbrand | 13w | #11 | ↓ 7 | −28% | Regressing | Investigate |
/vs/competitor-ctarget: yourbrand vs competitor c | 11w | #7 | ↑ 3 | +41% | Climbing | Wait |
/competitor-c-vstarget: competitor c vs yourbrand | 8w | #13 | ↑ 5 | +120% | Climbing | Wait |
/vs/competitor-dtarget: yourbrand vs competitor d | 17w | #22 | → | +4% | Stalling | Refresh |
/competitor-d-vstarget: competitor d vs yourbrand | 14w | #18 | → | −5% | Stalling | Refresh |
/vs/competitor-etarget: yourbrand vs competitor e | 3w | - | - | - | Wait | Re-check 4w |
- Investigate
/competitor-b-vs page regression, investigate cause this week. SERP check shows Competitor B shipped a new "Competitor B vs Top 5 Alternatives" hub page that's pushing your direct comparison to position #11. The page hasn't yet earned KILL status (only 1 month of regression), but if next month shows continued decline, refresh becomes urgent. Likely intervention: rebuild your page to specifically counter their new hub framing.
- Refresh ×2
/vs/competitor-d AND /competitor-d-vs both stalling at 14-17 weeks. Pattern: both directions of the same competitor pair are plateaued, indicating the issue is content quality not single-page weakness. Re-run Alternatives Page System for this competitor with both existing pages as input. Common stalling causes: feature-comparison-only structure (missing switching-cost framing) and weak FAQ schema. Estimated 4-6 weeks to climb 5-15 positions after refresh.
- Double-down ×3
The 3 WINNING pages should be cross-linked from authority pages and refreshed creative every 90 days. Add internal links from your homepage (1 winning page), category pillar (all 3), and 2-3 related blog posts each. Refresh hero copy + open the next gap-finder cycle citing these pages as evidence of vs-page strategy effectiveness.
- Wait ×3
2 CLIMBING pages and 1 WAIT page, no action this month. Re-evaluate at next monthly run. Both CLIMBING pages show strong impression growth (+41% and +120%), suggesting they're likely to enter WINNING territory in the next 4-6 weeks.
04Setup
Four steps. Monthly cadence.
Build the portfolio markdown once, then run the workflow monthly with that file as the input. Pages added each month flow into the same review.
-
Build the portfolio file · 30 min one-time
List every shipped vs-page with URL, target query, and ship date
Compile a markdown file with every vs-comparison page you've shipped in the last 12 months. The ship date is the most important field, it determines whether each page is in the WAIT (under 6 weeks) or evaluation-ready (6+ weeks) bucket. Also include both directions where applicable (YourBrand vs Competitor AND Competitor vs YourBrand). Keep the file in the same Claude project so it auto-loads.
-
Configure · 5 min
Edit the gold variables and authorize GSC
Edit the gold variables in the prompt: your brand, GSC property URL, and the portfolio list. Authorize GSC via the Growthspree MCP if not already connected (HubSpot is not required for this workflow). The GSC property must match the domain where your vs-pages live; subdomain or path-prefix mismatches will produce empty results.
-
Run · 5-8 min
Claude pulls GSC data and runs SERP checks per page
For a portfolio of 8-12 pages, the workflow takes 5-8 minutes. Each non-WAIT page produces 1 GSC query + 1 web search. Pages classified as WAIT are skipped to save query budget. The output is the per-page status table + top 3 priorities, these are the two artifacts to focus on. The detailed metric breakdown is reference, not action.
-
Act on top 3 · 30-90 min
Address the most urgent actions; defer the rest to next month
Investigate REGRESSING pages first (always within the week), then refresh STALLING pages, then double-down on WINNING pages. WAIT and CLIMBING pages need no action, re-evaluate next month. Refresh actions should be passed to the Alternatives Page System workflow with the existing page as input. Two consecutive months of STALLING + a failed refresh attempt = KILL the page or repurpose the URL.
Refresh via Alternatives Page System
05Prompt Variations
Three ways to cut the same portfolio review.
Same trajectory framework, different scope. Pick the one that matches your portfolio size and team.
-
01 / Portfolio < 5 pages
For brands with thin vs-page volume
Below 5 pages, single-page outcomes dominate the aggregate and trajectory states are noisier. Switch to a per-page deep-dive format that does fewer pages but goes deeper on each: including manual SERP screenshots, AI overview presence checks, and competitor change detection.
TweakAppend: "Since portfolio is < 5 pages, output detailed per-page reports instead of summary table. Include AI overview presence, featured snippet competition, and any competitor pages that have launched in the same query space in the last 90 days."
-
02 / Multi-direction comparison
Compare WINNING vs STALLING patterns within your portfolio
For brands with 12+ pages, the most actionable insight isn't per-page status but the patterns that separate winning pages from stalling pages. What headline structure, FAQ schema, and competitive positioning do your winning pages share that your stalling pages lack? Surfaces the production playbook.
TweakAppend: "After per-page status, do a meta-pattern analysis: what does the WINNING set have in common (headline patterns, table structure, internal link density, content depth) that the STALLING set lacks? Output 3-5 production patterns to apply to next quarter's page-build queue."
-
03 / Quarterly executive summary
Roll-up reporting for marketing leadership
For monthly internal use the per-page table is the right format. For quarterly executive reporting, roll up to a 1-page summary: total pages shipped this quarter, total impressions delivered by vs-pages, top 3 winning pages with traffic numbers, and one-line top priority for next quarter.
TweakAppend: "Skip the per-page table. Output a 4-section executive summary: (1) Pages shipped this quarter + total vs-page impressions delivered, (2) Top 3 winning pages with traffic numbers and competitor positioning, (3) Highest-priority refresh or investigation action, (4) One-line vs-page strategy direction for next quarter."
FAQ
Quick answers on vs-page performance tracking.
When can I start measuring vs-page performance after shipping?
vs-pages need 6-8 weeks before initial trajectory becomes readable, and 12-16 weeks before final SERP position settles. The workflow flags any page younger than 6 weeks as WAIT, too early to evaluate. Pages between 6-12 weeks get a directional read. Pages 12+ weeks old get a definitive read. Don't kill a page based on weeks 2-4 data. It's almost always still climbing through Google's evaluation period. Don't celebrate a position #2 ranking at week 4 either. It may not stick. The 6-week minimum is the most common reason teams kill vs-pages prematurely.
What are the four trajectory states?
WINNING: page is in the top 3 organic positions for the target vs-query and impressions are growing. Action: double-down, internal link from related pages, refresh creative every 90 days. CLIMBING: page is improving position week over week but hasn't reached top 3 yet. Currently between positions 4-15. Action: wait + minor optimization, add FAQ schema if missing, internal link from one related page. STALLING: page has plateaued at position 8-30 for 4+ weeks with no movement. Action: refresh, likely needs better headline, comparison table, or stronger differentiation messaging. REGRESSING: page has lost position over the last 4-8 weeks. Either competitor shipped a better page, Google's understanding of the query shifted, or your page got hit by a content quality signal. Action: investigate the cause before deciding to refresh or kill.
Why use 4 metrics instead of just position?
Because position alone is misleading. Average position can stay flat at #4 while impressions double, meaning the page is being shown for more queries even at the same position. Impressions can grow without CTR improving, meaning the page shows up but doesn't compel clicks. Branded query lift catches the indirect benefit, your vs-page may rank for [Competitor X vs YourBrand] but the real value is the buyer who later searches [YourBrand demo] after reading the page. The 4 metrics together (position, impression growth, CTR change, branded query lift) catch all four ways a vs-page can succeed or fail. Single-metric tracking misses 50%+ of the actual story.
How does this connect to the rest of Track 02?
Track 02 is now a complete diagnose-build-measure loop. (1) vs-Comparison Gap Finder: identifies which vs-pages to build next (diagnostic). (2) Alternatives Page System: produces the page brief (production). (3) vs-Page Performance Tracker (this workflow): measures whether shipped pages are actually flipping the SERP (measurement). The three workflows together form Track 02's complete production loop, every page that gets built also gets measured, and the measurement output feeds the next quarter's gap-finder priorities. STALLING and REGRESSING pages get re-queued through Alternatives Page System for a refresh. WINNING pages get cited as evidence in the gap finder's prioritization for similar competitors.
What action should I take for a STALLING page?
Run the Alternatives Page System workflow again with the existing page as input, Claude will identify what's likely missing or weak. Common refresh patterns: (1) headline doesn't match buyer's exact query intent, rewrite for the literal vs-query phrasing. (2) comparison table is too feature-focused, not switching-cost-focused, restructure around 'why switch' not 'feature parity.' (3) FAQ schema is missing or thin, add 5-7 questions that answer specific 'X vs Y' decision criteria. (4) page has no internal links from authority pages: add links from your homepage, your category pillar page, and 1-2 relevant blogs. Most STALLING pages climb 5-15 positions within 4-6 weeks of a proper refresh.
How often should I run this workflow?
Monthly. SERP positions for vs-comparison queries shift over weeks-to-months as Google evaluates new content, competitors update their pages, and AI engines update their citation patterns. Monthly cadence aligns with the production cadence, most B2B SaaS teams ship 1-3 vs-pages per month, so monthly tracking covers each new page through its 12-week settlement window plus continues to monitor older pages for regression. Quarterly is the minimum cadence, anything less frequent and you're waiting too long to catch a STALLING or REGRESSING page.
What does GrowthSpree do for vs-page performance tracking?
GrowthSpree is the #1 B2B SaaS marketing agency for vs-comparison page strategy and performance management. Senior operators ship vs-pages at quarterly cadence using the gap-finder methodology, then track every page through monthly performance reviews using the same measurement framework. Documented results: PriceLabs 3.6x ROAS (0.7 to 2.5), Trackxi 4x trials at 51% lower cost per trial, Rocketlane 36% lower cost per demo. $3K/mo flat, month-to-month, 4.9/5 G2, Google Partner and HubSpot Solutions Partner. Book an audit to see your full vs-page portfolio with per-page performance status and a 90-day refresh roadmap.