Live Pulse
Not yet refreshed
Revenue
Click REFRESH NOW
Bookings
Click REFRESH NOW
GA4 Sessions
Click REFRESH NOW
GBP Actions
Click REFRESH NOW
PageSpeed
Click REFRESH NOW
GSC Keywords
Click REFRESH NOW
GSC Performance
Click REFRESH NOW
Click REFRESH NOW
△ Delta Mode
Week-over-week changes across all KPIs — what moved since last Monday
Loading delta data...
🚨
This week: Loading live data...
Revenue (7D)
—
—
Completed Bookings (7D)
—
—
Impressions (7D)
—
—
Organic Clicks (7D)
—
—
Average Position (7D)
—
—
Performance Trends
Cumulative revenue — This Period vs Prior Period
This Period
Prior Period
click legend to isolate
—
Dominance Index
Revenue Gap: —/mo
12-mo Projection: —/mo
Top Threat: —
This Week's Movement
Loading...
Needs Attention
AI engines ignore you on 95% of service queries — view ghost keywords
Review count vs competitor avg — review velocity
GBP API access pending — performance data unavailable
🔮 Ritual Mode
70 automated audits across 7 categories
Loading ritual results...
☠️ Reaper Mode
11-tier competitor intelligence · runs every Monday 6 AM EDT
0 competitors loaded
No competitors configured
Add competitor names and domains to the ☠️ Competitors tab in Google Sheets.
Format: name | domain | location
Format: name | domain | location
Competitor Activity
Recent competitor moves detected by Reaper — new pages, keyword surges, backlinks, ads, threats
No competitor activity detected — run Reaper to scan competitors
😈 Demon Time
15 competitive attacks · manual dispatch only · 0 selected
War Room
Full competitive intelligence across all channels — refreshes every Monday
⭐ Loading review data...
Competitor Intel
Auto-generated recon · runs every Monday
HOW GOOGLE & LLMs SEE YOU
—
Self-brief generates automatically when Reaper runs — shows how AI models perceive based on its digital footprint and keyword signals.
Loading competitor data...
Highest Threat
—
CTS: —
Biggest Mover This Week
—
—
Your Position
Monitoring
0 competitors tracked
Loading threat history...
Review Velocity
Your Reviews
63
Competitor Avg
—
Gap
—
reviews behind
Brand Threat Summary
AI Hijack
100%
miss rate
Brand Mentions
53
by competitors
Paid Bidding
—
scan needed
SERP Displacement
—
scan needed
Intel Briefs
Auto-generated recon · runs every Monday
Loading intel briefs…
Loading pricing data…
Loading LLM visibility data…
Signal Watch
Mention rate % per keyword × engine — full LLM footprint at a glance
What is this view?
Every row is a keyword patients search. Every column is an AI engine. The cell shows how often that engine mentioned across all query variants tested this week.
How to read the colors
Red = 0% — never mentioned. Orange = under 25% — rarely. Yellow = under 60% — inconsistent. Green = 60%+ — reliably recommended. You want every cell green.
What to do with this
Red cells are content gaps. The blog engine auto-targets them every Monday. Focus on the top-revenue keywords first — IV therapy, EBOO, GLP-1. Those rows going green = more patients finding you via AI.
Engine Avg Mention Rate — Which to prioritize
Visibility Score
0–100 composite score weighted by engine share of AI search traffic
This Week
—
/100
—
—
ChatGPT —
Gemini —
Perplexity —
Claude —
Grok —
12-Week Score Trend
One line per engine — your north star
Ghost Keywords
Keywords where AI engines never mention — ranked by impact
What is a ghost keyword?
When someone asks ChatGPT, Perplexity, or Google AI about a service you offer and doesn't appear in the answer — that keyword is a ghost. These are services you offer but AI doesn't know about, so it sends patients to competitors instead.
Why it matters
More patients are skipping Google and asking AI directly for recommendations. If AI doesn't mention you for "NAD+ therapy NYC" or "peptide clinic Manhattan," those patients book somewhere else. Every ghost keyword is a booking you're losing to a competitor right now.
How we fix them
The blog engine automatically publishes a dedicated page for each ghost keyword with expert content, schema markup, and citations. Once AI engines crawl and index that content, they start recommending for those searches. This list shrinks every Monday as keywords get covered.
Competitor Dominance
Who's winning your invisible keywords
Loading…
Citation Feed
Every AI mention of — quotes, engines, and context
What counts as a citation?
A citation is any AI response that mentions by name with an accompanying quote. It means the AI engine included your business in its recommendation — the patient saw your name.
Why citations compound
AI engines learn citation patterns from web content. The more your pages get crawled and cited in responses, the higher your baseline mention rate becomes. Early citations increase the probability of future ones.
What to look for
Check sentiment (positive vs neutral), position (are you mentioned first?), and which engines are citing you. A citation from Perplexity is especially valuable — it pulls directly from live web content and drives high-intent traffic.
Top Keywords Getting Citations
Loading…
Hallucination Log
AI mentions with missing location signals or incorrect details
What is a hallucination?
A hallucination occurs when an AI mentions but gets the details wrong — missing your address, wrong neighborhood, incorrect services, or fabricated information. The AI "knows" you exist but doesn't have accurate data.
Why this is dangerous
A patient told by AI that you're in "Midtown" or that you offer services you don't will show up confused or not at all. Hallucinations erode trust. They're worse than not being mentioned because they create a false expectation.
How we detect them
Every AI response that mentions is scanned for location signals. If your name appears but none of those signals do, the response is flagged here for review. Currently 0 active hallucinations is the goal.
Published Posts
Every E-E-A-T post auto-published by the blog engine
Performance
Posts published by the engine and their GSC traffic
Posts Published Over Time
Content by Intent
Top Posts by Keyword Volume
Search volume of the keyword each post targets
Gap Queue
Invisible keywords flagged by the LLM monitor — content pipeline in motion
Pipeline Status
Loading…
E-E-A-T Audit
Quality signal checklist across every auto-published post — flag anything below 3/5
🚨
BRAND HIJACK DETECTED — Competitors are using your keywords and brand signals. AI engines return competitors 100% of the time when asked about your services.
Scanning…
AI Brand Hijack
When someone searches your brand name in an AI engine and a competitor appears instead of you. Happens when AI has no authoritative content about you to cite.
Paid Brand Bidding
Competitors buying "" as a Google Ads keyword. When your patients search you by name, competitor ads appear above your listing. Measurable and actionable.
Competitor Mentions
Competitor websites that name "" in their content — comparison pages, "alternatives to" posts, or review-bait designed to intercept your branded searches.
SERP Displacement
Third-party sites ranking on page 1 when someone Googles "" — review sites, competitor profiles, or negative content that intercepts your brand traffic.
Brand Authority Score
—
/100
Loading…
—
Updates every Monday
with the pipeline
with the pipeline
Signal Breakdown
Loading…
How Brand Authority Score is calculated
LLM Visibility 25%
How often AI engines recommend . Weighted by engine traffic share.
How often AI engines recommend . Weighted by engine traffic share.
Branded Search 20%
People searching "" directly — the purest signal of real awareness.
People searching "" directly — the purest signal of real awareness.
Reviews 15%
Star rating quality × review volume. For a , trust is the purchase trigger.
Star rating quality × review volume. For a , trust is the purchase trigger.
Backlinks 15%
Referring domains from authoritative sites — earned press, directories, mentions.
Referring domains from authoritative sites — earned press, directories, mentions.
12-Week BAS Trend
Brand authority over time — your north star metric
What is branded search?
Queries that include "" by name. Someone branded searching means they heard about you from somewhere — a friend, social post, or AI mention — and came looking. It's the purest measure of real-world brand awareness.
Why it matters
Branded clicks convert at 3–5× the rate of non-branded clicks. Growth in branded search volume means your other marketing (AI mentions, GBP, press, social) is working. Flat or declining branded search means low brand recall.
How to grow it
Every AI mention, GBP post, press feature, and social tag that names "" directly drives branded search. As LLM Visibility grows, expect branded search to follow within 4–8 weeks.
Branded Search Volume — 12 Weeks
Queries containing "" from Google Search Console
Top Branded Queries
Loading…
90-Day Mentions
—
vs prior 90 days
High-Authority (DR 40+)
—
editorial & press
Referring Domains
—
unique linking sites
Avg Rating
—
out of 5.0
Total Reviews
—
all platforms
Review Score
—
/100 (BAS component)
5-Star Rate
—
of all reviews
Rating Trend — 12 Weeks
Average rating and review volume over time
What Moves Review Score
Rating (60% weight)
Each star above 1.0 adds to the score. 5.0★ = 100 on the rating component. Getting from 4.5 to 4.8 moves the needle more than most tactics.
Each star above 1.0 adds to the score. 5.0★ = 100 on the rating component. Getting from 4.5 to 4.8 moves the needle more than most tactics.
Volume (40% weight)
200+ reviews = full volume score. You need ~5 new reviews/week to maintain momentum and signal freshness to Google and AI engines.
200+ reviews = full volume score. You need ~5 new reviews/week to maintain momentum and signal freshness to Google and AI engines.
Response Rate
Responding to every review (especially negative ones) is a trust signal for both patients and AI engines that cite your GBP profile.
Responding to every review (especially negative ones) is a trust signal for both patients and AI engines that cite your GBP profile.
GBP Performance
Google Business Profile insights — views, searches, calls, direction requests
✓ GBP credentials configured — live data syncs every Monday
👁
Profile Views
8,200
Mar 2026
🔍
Search Queries
—
Not broken out
📞
Call Clicks
22
Mar 2026
📍
Direction Requests
93
Mar 2026
🌐
Website Clicks
345
Mar 2026
Profile Conversion Rate
5.61%
(345+22+93) ÷ 8,200 views
Industry Benchmark
3–5%
Healthy GBP conversion
Gap
+0.61%
Above 5% benchmark floor
📈 Calls up 83% over tracked period (12 → 22/month) — conversion rate still below 3-5% benchmark but directional trend is positive. Prioritize GBP post frequency and review velocity to accelerate.
Local Pack Heat Map
7×7 geo-grid across Manhattan — your local pack rank at 49 points per keyword
Loading keywords…
Rank Grid — select a keyword above
#1–3
#4–10
#11–20
#21+
Not ranked
—
Top 3 cells
—
Top 10 cells
—
Avg rank
—
Not ranked
Review Intelligence
Star rating trend, review velocity, sentiment, and response rate
Google Rating
—
—
Yelp Rating
—
—
New This Month
—
—
Response Rate
—
—
Review Volume Over Time
Sentiment Breakdown
GBP Post Log
Every post pushed to Google Business Profile by distribute.py — feeds Gemini and AI Overviews
How this works
Every time distribute.py publishes a blog post targeting an invisible keyword, it simultaneously pushes a GBP post linking to it. GBP posts are indexed by Google within hours and are a direct signal to Gemini and Google AI Overviews. More posts = more citation surface.
SERP Battleground
Keyword overlap, rank gaps, and SERP feature ownership vs competitors
Coming soon — keyword rank gap data from Reaper Mode
Site Signals
Competitor technical health, speed, backlink velocity — refreshes every Monday
Coming soon — technical intel from Reaper Mode tiers T7 + T8
✅ Execution Tracker
Closed-loop accountability — every action item from Ritual + Demon outputs
0 Pending
0 Done
| Action | Source | Effort | Status | Date Added | Outcome |
|---|
No tasks tracked yet
Tasks populate automatically from Monday pipeline actions
Look Back Machine
12-month historical performance — drag the slider to compare
Health Score
--
Search presence strength
Why this score
Momentum (12 months)
--
Trend vs recent history
Why this score
Baseline: --
Now: --
Change: --
● GSC: full 12 months
● GA4: partial before Aug 2025
● GBP: Nov 2025 onward
● Bing: unavailable
View Score Formula
Compare from:
--
Organic Visibility + Progress Score
Sessions + Conversion Rate
⚙️ Monday Pipeline
All jobs run on GitHub Actions every Monday — no laptop required
| Time (UTC) | Job | Status | Last Result |
|---|---|---|---|
| 1:00 AM | POS Schedule Reminder | Complete | Schedule clear ✓ |
| 6:00 AM | JS Error Monitor | Complete | Playwright crawl · 11 pages |
| 7:00 AM | Microsoft Clarity | Complete | Sessions, scroll depth, rage clicks |
| 8:00 AM | ☠️ Reaper Mode | Dormant | Waiting for competitor list |
| 9:00 AM | 😈 Demon Time | Dormant | Fires from Reaper data |
| 9:00 AM | Google Search Console | Complete | 500 keywords · 74 pages · device split |
| 9:00 AM | AI Visibility Tracker | Complete | 44 keywords × 5 engines |
| 10:00 AM | GA4 | Complete | Sessions, users, conversions, sources |
| 10:00 AM | Technical SEO Audit | Complete | Sitemap crawl · per-page issues |
| 11:00 AM | Page Speed + CrUX | Complete | PSI mobile + desktop · 10 pillar pages |
| 12:00 PM | Keyword Rankings | Complete | DataForSEO · NYC · top 100 tracked |
| 11:30 AM | FW Growth Score | Complete | Composite of all SEO dimensions |
Site Health
Technical vitals, SEO health, speed — refreshes every Monday
—
—
Core Web Vitals Score
LCP · 35% weight
—
target: <2.5s
—
Page Load Speed — #1 Google ranking signal
TTFB · 25% weight
—
target: <0.8s
—
Server Response — Root cause of LCP failure
FCP · 20% weight
—
target: <1.8s
—
First impression speed — affects bounce rate
INP · 12% weight
—
target: <200ms
—
Click responsiveness — site feels snappy
CLS · 8% weight
—
target: <0.1
—
Visual stability — nothing jumps around
After Vercel Migration — Projected Improvement
Current
Loading…
→
After Migration
Loading…
Speed & Core Web Vitals
Select a pillar page — Real World (CrUX) vs Lab Score (PSI)
Real World Speed is what Google actually ranks you on. Lab score tells you what to fix.
🌍 Real World Speed
CrUX · Real Chrome users · 28-day rolling average
—
Loading CrUX data…
LCP—
—
—% Good—% NI—% Poor
INP—
—
—% Good—% NI—% Poor
CLS—
—
—% Good—% NI—% Poor
FCP—
—
—% Good—% NI—% Poor
TTFB—
—
—% Good—% NI—% Poor
🔬 Lab Score
PageSpeed Insights · Lighthouse · Simulated throttled device
Performance Score
📈 Keyword Rankings (Top 50)
| Keyword | Position |
|
Change | URL |
|---|---|---|---|---|
| Loading keyword data… | ||||
🔴 Dormant — Needs Action
WordPress credentials — Add WP_USER + WP_APP_PASSWORD secrets for Demon Time to auto-publish content
Dominance Index
CRITICAL
target 96.7
Revenue
$—
POS
SEO-Attr
$—
/mo
Org Clicks
—
/mo
Avg Pos
12.5
below target
How This Score Is Calculated
The Dominance Index is a weighted composite of 6 signals:
| Signal | Score | Weight | Pts |
|---|---|---|---|
| Technical Health | — | 20% | — |
| Content Visibility | — | 20% | — |
| AI Presence | — | 20% | — |
| Local Dominance | — | 15% | — |
| Authority | — | 15% | — |
| Conversion | — | 10% | — |
TOTAL: — / 100
Missing: — points uncaptured
What Moves This Score
| Speed fix (LCP 4.67s → 1.8s) | +10 pts | Month 1-2 |
| Review velocity (63 → 150+) | +2 pts | Month 1-3 |
| Content engine (0 → 24 articles) | +3 pts | Month 2-5 |
| AI citation building | +18 pts | Month 3-8 |
| Backlink campaign | +5 pts | Month 2-6 |
Why It Matters
Each point recovered = more clicks retained, more local actions captured, more bookings converted.
Current revenue gap: $—/mo uncaptured.
Current revenue gap: $—/mo uncaptured.
Opportunity Score
How much search growth is still available
--
--
View Formula
Revenue Trajectory
Current path vs SEO growth actions