AI search is reshaping how B2B marketing leaders find and vet generative engine optimization partners — and the vendors who establish visibility inside those answers now lock in a structural advantage before the category consolidates. Before we run the audit, we need to make sure we're asking the right questions about the right competitors to the right buyers. This document presents what we've learned about Resonate Labs' market — your job is to tell us what we got right, what we got wrong, and what we missed.
Before we measure how often AI answers name Resonate Labs in generative engine optimization queries, these three signals tell us whether the engines can reach, read, and date the site's content at all. They are derived directly from the Layer 1 crawl — no interpretation.
lastmod reporting deploy dates on 49 of 73 URLs, a JavaScript redirect stub at /start/, and nine bylined pages typed WebPage instead of Article — plus two low and one item requiring manual verification.lastmod divergence is logged under Site Findings.Buyers looking for a generative engine optimization partner increasingly run their first round of vendor discovery inside an AI assistant rather than a search engine — 94% of B2B buyers now use LLMs during the buying process (6sense, November 2025), and 87% of B2B software buyers say AI chatbots are changing how they research vendors, with half now starting in a chatbot rather than Google (G2, October 2025). That makes this category unusual: the same mechanism Resonate Labs sells is the mechanism that decides whether Resonate Labs gets shortlisted. Early position compounds — the domains AI platforms learn to treat as reliable get pulled into more answers as retrieval patterns settle — so establishing visibility in a category this young is a durable advantage rather than a rented one.
This Foundation Review contains the three inputs that determine what the audit actually measures. The competitive landscape defines which head-to-head comparisons get tested and against whom. The buyer personas define whose search intent the query set imitates — a founder and a technical SEO lead ask fundamentally different questions about the same purchase. The feature and pain point taxonomies supply the language those queries are phrased in. Underneath all of it sits the Layer 1 technical baseline: the check on whether AI crawlers can reach and parse the site at all, before we ask whether they cite it. What follows is what we assembled from the outside; the point of the call is for you to correct it.
The validation call is a working session, not a presentation. Two kinds of decisions come out of it. First, input validation: are the right entities in the right tiers, and are the personas we inferred actually in your deals? Those answers set the shape of the buyer query set we run across ChatGPT, Claude, Gemini and Perplexity — and some of them redirect a meaningful share of it. Second, engineering triage: which technical items your team starts on now, before any results come back, so the baseline improves before we measure it. The specific items for both are collected in the Pre-Call Checklist near the end of this document.
<lastmod> from the same field that feeds each page's JSON-LD dateModified, so the 49 of 73 divergent URLs stop presenting a build timestamp as a content edit.Three things to know before you start marking it up.
What this is This is the foundation the audit runs on. We assembled a knowledge graph of the generative engine optimization category as buyers experience it — who competes for the same budget, who sits in the buying committee, which capabilities get compared, and what frustrations drive the search in the first place. Every entity below becomes queries. Get the foundation right and the audit measures your market; get it wrong and it measures a market that doesn't exist.
Your job Read for what's wrong and what's missing, not for what's right. Purple boxes throughout the document mark the places where our confidence is lowest and your answer changes the audit most. Every one of them is collected in the Pre-Call Checklist near the end — you can prepare for the call from that section alone.
Confidence badges High means we found it stated directly on your site, a competitor's site, or a review platform. Medium means we triangulated it from multiple weaker signals. Low means we inferred it and need you to confirm or kill it. The low-confidence items are where your input is worth the most.
Pulled from resonatelabs.co. This is the anchor entity — every query in the audit is scored on whether the answer names it.
→ Validate The four products span an enormous commitment range — a free Snapshot, a fixed-price AI Visibility Crawl, Foundations, and an ongoing Done-With-You GEO engagement. Is the Crawl the front door that everything else follows from, or do Done-With-You buyers arrive already knowing they want retained help? If they're two distinct buying conversations we build two query clusters — one diagnostic ("how do I find out if AI mentions my brand"), one vendor-selection ("best GEO partner for B2B SaaS") — and score them separately. If the Crawl is the single entry point, we weight everything toward the diagnostic cluster and treat the rest as post-purchase.
5 personas: 3 decision-makers, 1 evaluator, 1 influencer. Each phrases the same purchase differently, and the query set imitates all five.
Critical review area Personas drive query generation more than any other input. A persona who doesn't exist in your deals produces a whole cluster of queries nobody asks; a missing persona produces a blind spot the audit can't see past. Read these five for the ones that feel wrong before you read them for the ones that feel right.
Data sourcing note Role, department, seniority, influence level, veto power and technical level come straight from the knowledge graph. Role descriptions, buying jobs and query focus areas are synthesised by us from those fields plus your site's role pages. One thing to know about the sourcing: Resonate Labs has no G2, Capterra or Clutch profile, so zero personas come from review mining — all five trace to your own /for/ role pages and the Insynctive case study. That's a cleaner signal about how you position than about who actually shows up on the call.
→ Alina and Tomás both carry veto power — at a startup-segment buyer, does the VP Marketing sign an $850 audit alone, or does anything with a vendor name on it route to the CEO? If it routes, we shift weight from capability queries to business-case queries.
→ Desmond is the only high-influence persona without veto power — does demand gen hold its own line item for AI visibility, or does he always spend Alina's budget? If he holds the line item we promote him to decision-maker and add pipeline-framed queries; if not, his queries stay in the build-the-case register.
→ Rhiannon has the highest technical level and the lowest influence rating of the three marketing personas — does she build the shortlist and hand Alina two finalists, or does she only get consulted after the shortlist already exists? If she gates the shortlist, methodology and measurement-transparency queries move to the front of the set.
→ Tomás is rated technical_level low, yet the pain point about defending spend to finance links him to your Published, Auditable Methodology capability — does the CEO actually want to see how the score is calculated, or does he only want a number he can repeat in a board meeting? The first answer sends methodology queries at the executive cluster; the second sends outcome-and-cost queries.
→ This is the one persona we inferred rather than sourced — does a Head of Web Engineering actually sit in your deals, approving or blocking the rendering fixes, or does marketing own the site outright and never pull them in? If engineering isn't a real gatekeeper we drop the technical crawlability queries entirely and reweight the audit toward the marketing buying committee.
→ Who's missing? Your site publishes five role pages but this persona set only maps to four of them — there's a /for/content-leaders/ page with no corresponding persona. Three roles that sometimes appear in GEO service deals; do they show up in yours? (1) Head of Content / Content Lead — if the person who owns the editorial calendar has to absorb the action plan, they evaluate on "can my team actually execute this," which is a different query cluster from Alina's. (2) RevOps or Marketing Ops — they own the analytics stack, and the AI-attribution pain point in this KG lands squarely on their desk. (3) A fractional CMO or agency-of-record strategist — if an outside advisor recommends the vendor, the buying committee has a member who appears nowhere on your site. Who else shows up in your deals?
6 primary + 5 secondary competitors identified.
Why tiers matter Tier assignment decides where the audit spends its head-to-head budget: each primary competitor carries roughly six direct-comparison queries, so these six tiers commit around 36 queries to questions in the register of "Profound alternatives for B2B SaaS," "AI visibility audit vs. monitoring dashboard," and "best GEO agency for B2B" — while secondary competitors surface only in broader category-awareness queries. One flag: Discovered Labs is the only primary competitor at medium confidence. They're your closest philosophical match, but they publish no pricing and require a sales call, so we can't confirm they reach the same buyers at the same moment. If they rarely appear in real deals, moving them to secondary shifts about six queries out of the head-to-head set.
→ Validate The primary tier mixes two budget lines that may never meet: tracking tools at $95–500/mo (Profound, Peec AI, Scrunch AI) and agency retainers from ~$10k/mo (Omniscient Digital, Discovered Labs, Graphite). In real deals, are you losing to the trackers or to the agencies? Tiering the wrong set spends about a third of the head-to-head queries on vendors your buyers never seriously considered. Two follow-ons: does Discovered Labs (medium confidence, no public pricing) actually reach your buyers, or did we over-weight philosophical similarity? And is Semrush AI Toolkit correctly secondary — if "we already pay for Semrush" is the objection that most often kills a deal, it belongs in the primary tier as an incumbent to displace. If anyone in these eleven never comes up, tell us and we'll cut them.
12 buyer-level capabilities mapped — 7 strong, 2 moderate, 3 weak. These determine which capability queries the audit runs and where it looks for competitive exposure.
Show me exactly which buyer questions ChatGPT, Claude, Gemini, and Perplexity answer without ever naming my company
Test the questions my actual buyers ask, not a generic keyword list someone scraped from a tool
Cover every AI surface my buyers actually use, not just ChatGPT and Google AI Overviews
When AI answers this question, tell me who it names instead of us and how often we get recommended when we do show up
Don't hand me another dashboard — tell me the specific pages to publish next and in what order
Find out whether AI crawlers are getting an empty page from our JavaScript site while Google sees the real thing
Show me how the score is calculated so I can defend the number when my CEO asks where it came from
I want to find out where we stand for under a thousand dollars this week, not sign a $10k-a-month retainer to get an answer
I need a live dashboard my team can check any day, with alerts when our position moves — not a report every 30 days
My team has no capacity — I need someone to actually write and ship these pages, not tell me what to write
Get us mentioned on the review sites, Reddit threads, and roundups that AI actually quotes when it answers about our category
Prove this turned into pipeline — I can't take 'visibility went up' to a budget review
Which three? Seven of the twelve capabilities rate Strong. The audit tests all 12, but competitive differentiation queries will emphasise 3. Which of these best represents where Resonate Labs wins deals?
• AI Answer Visibility Measurement
• Buyer-Intent Query Set Construction
• Competitive Share of Voice & Win Rate
• Prioritized Action Plan with Exact Fixes
• Technical Crawlability & Rendering Diagnosis
• Published, Auditable Methodology
• Low-Commitment Price & 24-Hour Turnaround
→ Validate Two ratings look internally inconsistent, and we'd rather you settle them than have the audit inherit our guess. (1) Technical Crawlability & Rendering Diagnosis is rated Strong, but Scrunch AI runs edge-level crawler optimization as its core product — measured against Scrunch specifically, is this still a strength or a parity feature? (2) Multi-Engine Coverage Breadth is rated Moderate at medium confidence, yet your category statement claims ChatGPT, Claude, Gemini and Perplexity — while Peec AI advertises full multi-engine coverage from ~$95/mo. Is Moderate an honest read against the trackers, or are we under-rating you? A wrong strength rating either sends the audit hunting for a weakness that doesn't exist or leaves a real one unmeasured. Also: is anything missing from these twelve, and should Prioritized Action Plan and Done-For-You Content Execution be one capability with a delivery-model split rather than two?
11 pain points: 7 high, 4 medium severity. The buyer language below is the literal phrasing the audit's queries get built from.
→ Validate Seven of eleven pain points rate High and none rate Low — a flat, top-heavy distribution usually means we couldn't separate what buyers agree with from what actually moves them to buy. Which three of those seven open a real sales conversation? Two specifics worth your attention: this language came entirely from your own role pages and case study rather than review platforms, since Resonate Labs has no G2, Capterra or Clutch presence — so if any phrasing sounds like your marketing rather than your buyers, we need to hear it. And "vendor dependency leaves no internal capability behind" is the only pain sourced from a competitor's positioning rather than yours — does a buyer ever raise it unprompted, or is it a differentiator you introduce? Three pains we'd expect in this category but didn't find: AI describing the company inaccurately (wrong pricing, invented features, stale positioning quoted back as fact), being cited but not recommended (the answer links your page and then names someone else), and not knowing which AI platform their buyers actually use. Do those come up?
What we found crawling resonatelabs.co the way an AI crawler would. Technical findings only — content recommendations require query response data to prioritise and arrive with the full audit.
Actionable now There are no critical or high-severity blockers here: robots.txt names GPTBot, ChatGPT-User, ClaudeBot, PerplexityBot and Google-Extended explicitly and allows all of them, and every one of the 77 URLs fetched returned fully server-rendered HTML — the homepage, /pricing/ and /compare/geo-agencies/ returned byte-identical responses to AI crawler user-agents and to a generic one. Three medium items are worth engineering time before the call: (1) rebuild sitemap <lastmod> from the same source as each page's JSON-LD dateModified — 49 of 73 URLs currently report a deploy timestamp; (2) replace the client-side redirect at /start/ with a server-side 301 to /pricing/; (3) retype the nine bylined editorial pages from WebPage to Article. One thing the analysis could not see: this was a single fetch from one location, so CDN rate-limiting or bot-management rules that reject AI crawlers over time would not appear in it. That check sits in the verification list below and is the highest-value item in this section — access failures at the edge would supersede everything else on this page.
What we found: 49 of the 73 URLs across the seven child sitemaps carry a <lastmod> that is newer than the dateModified the page itself declares in its JSON-LD. The sitemap values cluster on two dates, 2026-07-21 and 2026-07-22, which look like build or deploy timestamps rather than content edits. The divergence is large on several commercially important pages: /brief/ is stamped 2026-07-21 in the sitemap against a page dateModified of 2026-06-01, /technical-geo-checklist/ 2026-07-21 against 2026-06-10, and /for/marketing-leaders/, /for/demand-gen/ and /for/digital-marketing/ 2026-07-21 against 2026-06-10. Separately, /sitemap/ is the one indexable page on the site that appears in no child sitemap.
Why it matters: lastmod is a freshness hint, and search and AI crawlers discount it once it stops correlating with real change. Google states plainly that it ignores lastmod when a site's values are not consistently accurate. Stamping every URL at deploy time is exactly the pattern that trips that check, so the site loses the recrawl-prioritisation benefit on the pages that genuinely did change. This matters more here than on a typical site: Resonate Labs' own /technical-geo-checklist/ tells readers to back a visible last-updated date with an accurate dateModified, so an inaccurate sitemap signal is also a credibility gap against the standard the company publishes.
Recommended fix: Derive <lastmod> in the sitemap build from the same source of truth as each page's JSON-LD dateModified rather than from build time, so the three freshness signals (sitemap lastmod, JSON-LD dateModified, visible "Last updated") always agree. Add /sitemap/ to the appropriate child sitemap or mark it noindex if it is not meant to be indexed.
What we found: https://resonatelabs.co/start/ returns HTTP 200 with a 1,277-byte document containing eight words of body text ("Redirecting to start an AI Visibility Crawl"), no H1, no meta description, no structured data and no Open Graph tags. The redirect to /pricing/ is performed by a single inline script; the page is marked noindex, nofollow and declares a canonical pointing at /pricing/. The URL is linked from the homepage.
Why it matters: A crawler that does not execute JavaScript, which covers most AI crawlers, follows this link from the homepage and receives a dead end instead of being passed through to the pricing page. The noindex and canonical prevent the stub itself from being indexed, so the damage is contained, but link equity and crawl budget spent on the path are wasted and the crawler never reaches the destination. Returning an HTTP 301 costs nothing and makes the hop work for every client.
Recommended fix: Replace the client-side redirect with a server-side HTTP 301 from /start/ to /pricing/, or point the homepage link directly at /pricing/ and retire the /start/ URL.
What we found: Nine of the 50 inventoried pages carry WebPage as their primary type where Article is the more specific applicable type: the five role pages (/for/marketing-leaders/, /for/demand-gen/, /for/executives/, /for/content-leaders/, /for/digital-marketing/), /how-queries-are-generated/, and the three deliverable walkthroughs (/sample-report/, /sample-action-plan/, /sample-foundation-review/). All nine are bylined, carry a visible "Last updated" date, and already populate author and dateModified in their JSON-LD, so the properties are present but attached to the less specific type. The other 41 inventoried pages use Article, Service, CollectionPage or DefinedTermSet correctly.
Why it matters: The properties are valid on WebPage, so this is a precision gap rather than a missing-markup gap. Article is the type that carries an unambiguous author, headline and dateModified for editorial content, and it is the signal freshness- and authorship-weighted retrieval leans on to tell a dated, attributed article apart from a generic page. The five role pages are the ones that map most directly to the buying committee, so they are the pages where the distinction is most worth having.
Recommended fix: Change the primary @type on these nine pages from WebPage to Article, keeping the existing author, datePublished and dateModified properties in place, and confirm headline matches the visible H1.
What we found: On /for/marketing-leaders/ the visible byline reads "Last updated June 10, 2026", the page's JSON-LD declares dateModified 2026-07-12, and the sitemap entry declares lastmod 2026-07-21. Three signals, three dates, spanning six weeks. This is the only page of the 50 inventoried where the visible date and the JSON-LD dateModified disagree; on the other 49 the two agree wherever both are present.
Why it matters: When the machine-readable and human-readable freshness signals disagree, a crawler has no basis to choose between them and the page's freshness claim becomes unreliable. Because it is a single page, the practical cost is small, but it indicates the visible date and the JSON-LD are maintained separately rather than generated from one field, which is the condition that lets the drift recur.
Recommended fix: Render the visible "Last updated" string and the JSON-LD dateModified from the same field in the page's front matter so the two cannot diverge, then correct this page to whichever date is accurate.
What we found: https://resonatelabs.co/account/ returns three H1 elements in the raw HTML — "Payment received", the literal string ${heading}, and "Be the answer." — with 30 words of body text, no canonical link and no structured data. The ${heading} value is an unsubstituted JavaScript template literal being served in the markup. The page is marked noindex, nofollow and is excluded from the sitemap.
Why it matters: Because the page is noindex and gated, there is no AI-visibility cost here, which is why this is low rather than higher. It is worth fixing as hygiene: a template placeholder reaching production markup means the shell renders before its data binds, and the same pattern on any indexable page would put placeholder text into a crawlable heading.
${heading} into a crawlable heading on pages that do compete for buyer queries.Recommended fix: Render the account shell with a single static H1 and bind the dynamic heading into a lower-level element, so no unsubstituted template literal can reach the served markup. Add a canonical link.
The following item could not be assessed through our analysis method. We recommend your engineering team verify it manually before the validation call.
What to check: This analysis fetched raw HTML directly, so rendering, schema, meta and Open Graph tags were measured rather than inferred: all 77 URLs returned HTTP 200 with fully server-rendered body content, and the homepage, /pricing/ and /compare/geo-agencies/ returned byte-identical responses to GPTBot, ClaudeBot, PerplexityBot, Googlebot and a generic user-agent, so there is no evidence of client-side rendering or user-agent-conditional serving. What this method cannot observe is behaviour over time and at volume: CDN or WAF rate-limiting of AI crawler user-agents, edge caching that serves stale variants, and JavaScript that mutates content after the initial HTML. Access failures for AI crawlers in production more often come from rate limiting, bot-management rules or geographic edge behaviour than from the markup, and none of those are visible in a single fetch from one location.
Recommended action: Check server or CDN logs for GPTBot, ClaudeBot, PerplexityBot, OAI-SearchBot and Google-Extended over the last 30 days and confirm they are receiving 200s rather than 403s or 429s. Validate a sample of pages in Google's Rich Results Test and the Schema.org validator to confirm the JSON-LD parses cleanly, and spot-check two or three pages with JavaScript disabled to confirm no content is added post-load.
Why now The timing argument for generative engine optimization isn't that AI search is coming — it's that position is being assigned right now:
• Buyer discovery is shifting quarter over quarter: 94% of B2B buyers now use LLMs during the buying process (6sense, November 2025), and half of B2B software buyers start vendor research in a chatbot rather than Google (G2, October 2025).
• Early citations compound — the domains AI platforms learn to treat as reliable get pulled into more answers as retrieval patterns settle, and that advantage is self-reinforcing rather than rented.
• Crawler volume is climbing fast: Akamai measured 1.6 billion daily AI bot requests across its CDN, up 78% over six months (February 2026). What the engines index of your site this quarter is what they answer with next.
• The GEO service category is still early-innings in its own GEO. Acting now means competing largely against inaction rather than against entrenched strategies — a window that narrows as the category's larger players start optimising for the same answers.
Once the inputs above are validated, the audit measures citation visibility across the buyer queries this knowledge graph implies — questions in the register of "who are the best GEO agencies for B2B SaaS," "Profound alternatives," "is an AI visibility audit worth it versus a monitoring dashboard," and "how do I find out whether ChatGPT recommends my competitors instead of us." You'll see exactly which of those queries return answers naming Profound, Peec AI or Omniscient Digital but not Resonate Labs, which ones name you and then recommend someone else, and where the gap between the two sits page by page. The Layer 1 items are worth shipping before that measurement runs — accurate sitemap dates and a server-side redirect at /start/ raise the baseline the audit reads, rather than becoming findings it discovers.
45–60 minutes. We walk this document top to bottom, resolve the ten questions in the checklist, and lock the inputs the query set is built from.
We generate buyer queries from the validated personas, competitors, features and pain points, then run them across the selected AI platforms and record every answer and citation.
Visibility analysis, competitive positioning against the validated set, and a three-layer action plan prioritised by which gaps actually cost citations.
Start now Three technical items your engineering team can ship without waiting for the call: (1) rebuild sitemap <lastmod> from the same source of truth as each page's JSON-LD dateModified, which also fixes the three-way date conflict on /for/marketing-leaders/ at its root; (2) replace the client-side redirect at /start/ with a server-side 301 to /pricing/, or point the homepage link straight at /pricing/; (3) pull the last 30 days of CDN and server logs for GPTBot, ClaudeBot, PerplexityBot, OAI-SearchBot and Google-Extended and confirm they're receiving 200s rather than 403s or 429s. robots.txt already allows all of them by name, so the edge configuration is the only unverified layer of crawler access left — and if crawlers are being throttled there, it supersedes everything else in this document. These don't depend on the rest of the audit and will improve your baseline visibility before we even measure it.
Two jobs before we meet. The questions on the left require your judgment — no one knows your business better than you. The engineering tasks on the right don't require the call at all.
<lastmod> from the same source of truth as each page's JSON-LD dateModifiedWebPage to Article${heading} template literal and triple H1 on /account/