Multi-unit operators who want to turn anonymous walk-in traffic into identified customers — and prove their ad spend put bodies through the door — are increasingly asking an AI assistant to name the vendors before they ever open a search box, and in a category this fragmented the platforms that establish citation visibility now lock in an advantage that compounds. 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 Adentro's 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 assistants name Adentro in guest WiFi data capture and offline attribution conversations, these three signals tell us whether those assistants can reach, parse and correctly attribute adentro.com at all. All three are derived mechanically from the August 12, 2026 analysis of 35 pages.
<link rel="canonical"> pointing at adentro-site.vercel.app, and the homepage's JSON-LD Organization node carries the same preview URL — so the production domain is telling every crawler it is a duplicate of a preview deployment. The four high items are the live indexable duplicate on that preview host, a sitemap whose 37 URLs are all off-domain, a support subdomain serving 65 characters of text, and seven case study pages published with an empty body.lastmod in the sitemap a crawler cannot award that credit even where the content is current — the slim-chickens case study runs through February 2026 and is indistinguishable from a 2022 campaign. All 12 product and commercial pages, and all 4 structural pages, have no detectable date at all (16 unscored) — verify manually.User-agent: * / Allow: /. Discovery is the problem: adentro.com/sitemap.xml returns 200 with 37 <loc> entries and not one is an adentro.com URL, the Sitemap: directive in robots.txt points at the preview host, and no entry carries a lastmod. Pages such as /meraki.html, which is not in the homepage navigation, have no declared discovery path on the production domain.Adentro sells into a category with no settled name. A multi-unit operator who wants to know who the people walking into their stores actually are, and whether the money they spend on Meta and Google produces visits, does not have a term of art to type — they describe the problem and ask an assistant to name the vendors. That is exactly the condition under which AI answers do the most work on a buyer's behalf, and where citation position is worth the most: the domains an assistant learns to treat as authoritative on a problem get returned for it again, and a fourteen-year-old company with a national identity graph is well placed to hold that position against both cheaper self-serve WiFi tools and much larger location-analytics platforms. The complication is that Adentro carries two names — much of the third-party web and a great deal of model training data still calls the company Zenreach — so the entity itself has to be consolidated before the visibility can be.
This Foundation Review presents the inputs that determine what the audit actually measures. The competitive set decides which vendors Adentro is tested head-to-head against and which are tested only for category awareness. The buyer personas decide whose search intent the queries model — a franchise owner, a VP of marketing and a network operations manager ask three genuinely different questions about the same platform. The feature and pain point taxonomies supply the language those queries are written in, drawn from how buyers describe the problem rather than how the category markets to them. Underneath all of it sits the Layer 1 technical baseline: whether AI crawlers can reach adentro.com, and whether what they retrieve resolves to the right domain and the right company. This is what we're validating together before the audit runs.
The validation call is a working session with real consequences, not a walkthrough of a document. Two kinds of decisions get made there. First, input validation: are the right buyers and the right competitors in the right tiers, and is our outside-in read of Adentro's capabilities honest? Every correction redirects query budget — a merged persona or a demoted competitor moves whole clusters of queries somewhere more useful, and one of the corrections on the table would move an entire vertical's worth of queries. Second, engineering triage: the Layer 1 findings are independent of everything we decide about the query set, and the most consequential of them is under a day of work, so your engineering team can start the day this document lands. The specific items on both sides are collected in the Pre-Call Checklist near the end.
og:url, og:image and the JSON-LD Organization url/logo to the adentro.com origin from a single deployment-time base-URL variable, and add the three missing canonicals on restaurants.html, slim-chickens.html and your-pie.html.Three things to know before you read the rest.
Purpose This is the input layer for Adentro's GEO visibility audit. Everything below — the competitors, the buyers, the capabilities, the buyer frustrations — becomes the raw material for the buyer queries we run against AI assistants. If our read of the guest WiFi data capture and offline attribution market is off, the audit measures the wrong thing precisely. That's why this document exists before the audit rather than after it.
Your Job Read for what's wrong, not for what's right. Every section ends with a specific question in purple — those are the places where our confidence is lowest or the downstream consequence of being wrong is highest. You don't need to prepare a written response; the Pre-Call Checklist at the end collects every question in one place so you can walk into the call with answers.
Confidence Badges Every entity carries a confidence badge showing how directly it was sourced. High means it came from a first-party source — adentro.com itself, or a competitor's own published comparison page. Medium means it was inferred from category listings, review coverage or competitor-authored content. One thing worth knowing about this engagement specifically: Adentro's G2 presence is thin — roughly 18 reviews at 3.9 out of 5 — so anything marked as review-derived rests on a small sample supplemented by comparison pages written by companies that are trying to beat you. Treat those as the adversarial input they are. Medium-confidence items are where your correction is worth the most.
The company profile sets the entity we track across every AI response — the name variants below are literally how we detect an Adentro mention in an answer that never links to you, which matters more here than usual.
→ Adentro's own pages sell two distinct purchases: capture and activate (a marketing automation buy — collect guests over WiFi, win the lapsed ones back) and measure (an attribution buy — Walk-Through Rate as independent proof that paid media produced visits). Those come out of different budget lines and get searched in completely different language, and they put you against different rivals — Bloom Intelligence and Beambox on the first, Placer.ai on the second. Which one do buyers arrive with first, or do they genuinely arrive with both? If it's both, we build two query clusters and split the budget rather than testing one blended set. Two secondary checks that also shape the audit: (1) the rebrand — zenreach.com redirects to adentro.com, Capterra still lists the product as "Zenreach Engage," and a great deal of model training data predates the 2021 change, so we intend to count "Zenreach" in an AI answer as a first-class Adentro mention rather than a competitor; confirm that's how you want it scored. (2) We set segment to mid-market on the strength of fourteen years operating, the Puma / Bowlero / Primanti Bros. references and the Verizon Business Marketplace partnership — headcount alone would read as startup. Segment sets how sophisticated and risk-aware every generated query is, including whether buyers ask vendor-viability questions about you at all.
6 personas: 2 decision-makers, 3 evaluators, 1 influencer — each modelled as a distinct search intent, because the queries the audit runs are written in their language, not Adentro's.
Critical Review Area Personas are the single highest-leverage thing you can correct in this document. Each one drives a distinct cluster of queries; a persona that doesn't exist in your deals burns query budget, and a persona we've missed is a set of buyer questions the audit will never ask. Read these six for who is duplicated and who is missing before you read them for accuracy.
Data Sourcing Note Name, role, department, seniority, influence level, veto power and technical level come from the knowledge graph. Three of the six — the VP of Marketing, the multi-unit owner/operator and the IT & network operations manager — are grounded directly in adentro.com's own vertical pages, case studies and integration content. The other three carry medium confidence: the Director of Digital Marketing and the Director of Loyalty & CRM are partly inferred from how this category is bought rather than observed in your case studies, and the shopping center / REIT marketer is derived from malls.html, which names property groups, REITs and center operators but no job titles. The role descriptions, buying jobs and query focus areas are synthesized by us from those attributes plus the pain points each persona is linked to — correct them freely, they're our interpretation, not your data.
→ In a franchise group, does the platform decision sit with the franchisor's corporate marketing team or with the individual multi-unit franchisee who owns the P&L? Those two search in different vocabularies — brand-standard rollout versus "what will this cost me per store" — and if it's the franchisor, we need a corporate-marketing persona this set doesn't have.
→ Does IT genuinely kill Adentro deals, or does it only gate the deployment once marketing has already chosen? A real veto means we write hard technical and privacy queries — Meraki compatibility, network segmentation, who owns the captured list — as their own cluster; a deployment gate means those questions get folded into the marketing buyer's evaluation and carry far less query weight.
→ Does the VP of Marketing hold the budget line and sign, or does every deal route to the owner/operator for signature? If she signs, we reclassify her as a decision-maker and add validation-stage queries — procurement, contract terms, business case — that we currently only write for the owner.
→ Is the Director of Digital Marketing a separate searcher from the VP of Marketing in your deals, or is that one marketing buyer wearing two titles in orgs of different sizes? If they merge, roughly a sixth of the query budget is currently being spent twice on near-identical marketing queries and should be redirected to a buyer we haven't covered.
→ Is the shopping center / REIT marketer an active deal cycle today, or is malls and venues still an emerging side line? This persona is the only buyer for the Retail Media & Captive Portal Monetization capability and the only one attached to the center-monetization pain point — if it's aspirational, that entire query cluster measures a market you aren't selling into yet, and the budget belongs in restaurants and retail.
→ When the loyalty and CRM director enters an Adentro deal, is she an ally who wants WiFi capture feeding a system she already owns, or the internal defender of a platform that sees Adentro as overlap? If she's a defender, we need displacement queries phrased against Paytronix and Thanx by name; if she's a champion, the same budget goes to integration and data-flow queries instead — and those two sets share almost no vocabulary.
Missing Personas? These roles sometimes appear in guest data and offline attribution deals — do they show up in yours? Franchise marketing fund / co-op advertising manager — in multi-unit franchise groups the ad dollars often sit in a brand fund with its own approval path, and that person searches for compliance and brand-standard language, not for capture rates. General counsel or head of privacy — guest data ownership is rated a high-severity pain here and is the exact line GoZone WiFi attacks you on publicly; if legal sits on the committee, the consent and resale questions become their own query cluster rather than a talking point. Agency or media buyer of record — where an agency runs the paid social, it may be the evaluator, the integration partner, or the party most threatened by an independent attribution measure that grades its work. Who else shows up in your deals?
6 primary + 5 secondary competitors identified — primary means direct head-to-head testing in the audit, secondary means category-awareness testing only.
Why Tiers Matter Tier assignments decide where roughly 36 to 48 of the audit's head-to-head queries land — phrasings like "Adentro alternatives", "Zenreach vs Bloom Intelligence", "best guest WiFi marketing platform for restaurants" and "how do I prove my digital ads drove store visits". Six primary competitors at six to eight queries each consumes that budget entirely; secondary vendors get tested only for whether Adentro surfaces alongside them in category questions. Two of the six primaries carry medium confidence. Placer.ai was tiered from a competitor listing and shared budget rather than observed deal loss, and its GPS-panel methodology is a different thing from device-verified capture; Cloud4Wi was tiered from category listings rather than from a comparison page either side publishes. If either rarely appears in a live evaluation, moving it to secondary frees six to eight queries for Bloom Intelligence or GoZone WiFi — the two vendors who run explicit "Adentro alternatives" pages today and are therefore already shaping how assistants answer.
→ Three things to settle here. (1) Who's missing? Name any vendor that shows up in your last ten competitive deals and isn't on this list — a vendor absent from the graph is a vendor the audit will never test you against. (2) Are Placer.ai and Cloud4Wi really primary? Both were tiered from category listings rather than observed deal loss. Do you lose deals to Placer.ai, or does it come up as a complementary analytics purchase alongside you? Do you meet Cloud4Wi in multi-hundred-location rollouts, or only in RFPs you don't bid? Either demotion frees six to eight head-to-head queries. (3) Is anyone on this list wrong to be here? Paytronix and Thanx are named integration partners on your own site and are tiered secondary because they compete for the same guest-data budget line and will appear in AI answers about restaurant customer data — tell us if testing them as competitors creates partner friction we should route around. Stampede, Aislelabs and MyWiFi Networks are here mostly so we recognise them when an assistant names them; if they never appear in real evaluations, that's useful to confirm rather than to guess.
12 buyer-level capabilities mapped — 6 rated strong, 4 moderate, 2 weak — and the buyer language under each is how the audit's capability queries will actually be phrased.
Automatically collect a verified email and device ID from people who walk in, without forms, app downloads, loyalty signup, or my staff having to ask
Prove that the people who saw my digital ad actually walked through my front door, measured independently instead of taking Meta's or Google's word for it
Match my walk-in traffic against a large database of real verified consumers so I can enrich profiles and build lookalike audiences of people like my best customers
Automatically email guests who haven't been back in six weeks and bring them in again, without me building and scheduling the campaign every time
Push my captured customer list straight into Meta and Instagram to retarget past visitors and find new people who look like them
Work with the Cisco and Meraki access points I already have across all my sites instead of forcing a hardware rip-and-replace
Tie a campaign to an actual ticket in my POS so I can report revenue driven, not just visits driven
Feed the guests I capture over WiFi directly into the loyalty and email platform I already pay for, without a manual CSV every month
See new versus repeat visits, visit frequency, and churn risk across all my locations in one dashboard I can actually read
Turn my center's WiFi audience into sponsorship and advertising inventory I can actually sell to tenants and brands
Get my happy regulars to leave Google and Yelp reviews automatically, and let me respond to bad ones in the same tool
Reach guests by text message, not just email, when I need to fill a slow Tuesday tonight
Which Three Carry the Differentiation Queries? Six of the twelve capabilities are rated Strong. The audit tests all twelve, but competitive differentiation queries will emphasize three — and picking them is a commercial judgment we can't make from the outside:
Which three of these best represent where Adentro actually wins deals — not which demo best, which close?
→ Two ratings here are load-bearing and both are shaky. Review Generation & Reputation Management is rated weak on competitor evidence, not yours — the rating comes from Bloom Intelligence's comparison content, which sells integrated review response, while Adentro does claim review generation. If it's really moderate, the audit stops treating reputation as an exposed flank against Bloom and Beambox. SMS & Multi-Channel Guest Messaging is rated weak on inference alone — SMS appears nowhere on adentro.com, but absence of marketing copy isn't proof of absence of capability; if SMS ships, this rating is wrong and it takes the "dead Tuesday night" pain point down with it. Two further checks: is there a capability missing here that buyers ask about — most obviously data ownership and export, which we deliberately modelled as a privacy pain point rather than a feature even though GoZone WiFi attacks you on it directly? And should Passive Guest WiFi Data Capture and the Verified Consumer Identity Graph be tested as one capability or two — do buyers experience the match rate as a separate thing they're buying, or as the reason capture works?
12 pain points: 5 high, 7 medium, none low — the buyer-language quotes below are literally how the audit's problem-stage queries will be phrased.
→ Three things to check. (1) The severity distribution is flat. Five pains are high, seven are medium, none is low — which means we can't rank from severity alone. Which three of the five high-severity pains actually open your discovery calls? Those become the problem-stage queries we run first, and getting the order wrong means the audit's most-scrutinised results test the problem your buyers care about third. (2) The numbers in the buyer language are ours, not yours. "Seventy percent leave no trace," "only about ten percent joined the loyalty program," "forty grand a month" — are those the figures your buyers actually say out loud, or should they be different? Queries get phrased in these words verbatim, so a wrong number is a query nobody would ever type. Note too that the "dead Tuesday night" pain carries low confidence and rests on the same inference as the SMS rating — if SMS ships, this one should probably be dropped. (3) What's missing? Three that plausibly belong in this category and aren't here: franchisee adoption (getting independently owned units to actually deploy and use the thing after corporate signs), agency friction (the agency running your paid social is being graded by the attribution measure you just bought), and guest WiFi as a service-quality problem (slow or flaky WiFi is a guest experience complaint before it is ever a marketing channel). Do any of those come up?
14 findings across 35 pages retrieved as raw server HTML on August 12, 2026 — one critical, four high, seven medium, and two low, one of which needs manual verification in a browser.
Actionable Now — Engineering One finding here outranks everything else in this document and should go to engineering today. Every canonical tag on adentro.com points at adentro-site.vercel.app — 30 of 34 pages, plus the homepage's Open Graph tags and its JSON-LD Organization node. Adentro's production domain is currently instructing every crawler that it is a duplicate of a preview deployment, and because the Organization node carries the same preview URL, the machine-readable identity of the company resolves to the wrong domain. Two findings compound it and belong in the same fix: the preview host is live, indexable and byte-identical (its own robots.txt allows all crawlers and every page declares index,follow), and sitemap.xml's 37 URLs are all on that preview host, with the Sitemap: directive in robots.txt pointing there too. Fix these three together, generated from one base-URL variable, and every remaining finding in this section becomes worth doing — leave them and the rest is discounted. The good news, and it is worth stating plainly: robots.txt itself is open. GPTBot, ChatGPT-User, ClaudeBot, PerplexityBot, Google-Extended, Googlebot and Bytespider are all explicitly allowed, so there is no crawler-blocking problem to chase here. The fourth high-severity item, the client-side-rendered help centre at support.adentro.com, is a larger engineering job and can start in parallel; the fifth, the seven empty case study pages, is owned by content rather than engineering.
What we found: 30 of the 34 pages on adentro.com declare <link rel="canonical" href="https://adentro-site.vercel.app/...">, naming a Vercel preview deployment as the authoritative copy of each page. The homepage's Open Graph tags (og:url, og:image) and its JSON-LD Organization block (url, logo) point at the same host. The preview host is live, returns HTTP 200, serves a byte-identical copy of the homepage (74,268 bytes on both hosts), declares <meta name="robots" content="index,follow">, and its own robots.txt allows all crawlers. Three pages (restaurants.html, case-studies/slim-chickens.html, case-studies/your-pie.html) carry no canonical tag at all.
Why it matters: A canonical tag is a directive telling crawlers which URL is authoritative. Adentro's production domain is currently instructing every crawler that adentro.com is a duplicate of a preview deployment. Search and AI crawlers that honour the directive will consolidate ranking, citation and entity signals onto adentro-site.vercel.app instead of adentro.com. Because the JSON-LD Organization node also carries the preview URL, the machine-readable identity of the company itself resolves to the wrong domain — which is precisely the record an LLM uses to answer "what is Adentro and where do I find it". Every other fix in this report is discounted while this directive stands.
Recommended fix: Rewrite canonical, og:url, og:image and the JSON-LD Organization url/logo on all pages to the https://adentro.com origin, and add the missing canonical tags to restaurants.html, slim-chickens.html and your-pie.html. Generate these from a single deployment-time base-URL variable rather than hardcoding, so a future host change cannot reintroduce the mismatch.
What we found: https://adentro-site.vercel.app serves the entire site publicly. It returns 200 on every path tested, its homepage is byte-identical to adentro.com's, it publishes its own robots.txt with User-agent: * / Allow: /, it publishes its own sitemap.xml, and every page carries <meta name="robots" content="index,follow">. Nothing on that host restricts crawling or indexing.
Why it matters: Two fully crawlable copies of the same content split every signal that AI retrieval depends on: which URL accumulates links, which URL appears in a citation, and which URL an entity resolves to. Combined with the canonical directives described above, the duplicate is not merely competing with adentro.com — it is being actively promoted over it. AI answer engines that surface a source URL would cite a preview deployment, which reads as unmaintained infrastructure to any buyer who clicks through.
.vercel.app preview URL undercuts Adentro's enterprise-measurement positioning at the exact moment a buyer is deciding whom to shortlist.Recommended fix: Decide on a single production origin and enforce it. Either 301-redirect adentro-site.vercel.app to the matching path on adentro.com at the platform level, or restrict the preview deployment behind Vercel deployment protection. Do not rely on a noindex meta tag alone, since the duplicate is already linked from adentro.com's own canonical and sitemap references.
What we found: https://adentro.com/sitemap.xml returns 200 and contains 37 <loc> entries, every one of which is an adentro-site.vercel.app URL. No adentro.com URL appears in the sitemap. The Sitemap: directive in adentro.com/robots.txt also points to https://adentro-site.vercel.app/sitemap.xml. Separately, no entry carries a <lastmod> element; the file contains an XML comment stating that lastmod was intentionally omitted.
Why it matters: The sitemap is the primary machine-readable inventory of a site, and it is the discovery path AI crawlers use to find pages that are not prominent in navigation. As published, adentro.com offers crawlers no inventory of itself: pages such as /meraki.html, which is not linked from the homepage navigation, have no declared discovery path on the production domain at all. The missing lastmod compounds this — crawlers have no way to learn that a page changed, so recrawl frequency defaults to whatever the crawler infers.
Recommended fix: Regenerate sitemap.xml from the same base-URL variable used for canonicals so entries resolve to https://adentro.com/..., update the Sitemap: directive in robots.txt to match, and emit a real <lastmod> per URL from the content source's modification date rather than the deploy timestamp.
What we found: support.adentro.com is linked from the primary navigation of every page and from company-info.html. It redirects to support.adentro.com/s/, which returns 110,492 bytes of HTML containing 65 characters of visible text — a text-to-markup ratio of 0.06%. The served document has zero heading elements, no meta description, no canonical tag, and no <noscript> fallback. The only text a non-JavaScript client receives is "Public Help Center", "Loading", and "Sorry to interrupt / CSS Error / Refresh". This is a Salesforce Experience Cloud shell that assembles its content in the browser.
Why it matters: Help-centre and documentation content is disproportionately cited by AI answer engines because it answers specific operational questions in a factual register — exactly the "how do I connect Adentro to my Meraki network" or "what data does Adentro collect" queries a buyer's technical evaluator asks. None of Adentro's support content is reachable by a crawler that does not execute JavaScript, which includes most AI training and retrieval crawlers. This is also the only technical-depth surface on the entire property, so its invisibility is what leaves the IT and network evaluator persona with nothing to read.
Recommended fix: Expose the help-centre articles as server-rendered HTML. The practical routes are Salesforce Experience Cloud's SEO-friendly prerender configuration, or a prerender service in front of the subdomain. Confirm the fix by requesting an article URL with JavaScript disabled and checking that the article body and headings appear in the response. Then add the support articles to the sitemap.
What we found: Seven of the 17 individual case study pages render an H2 reading "The story" followed immediately by the page's call-to-action, with no body content in between: primanti-bros, hopdoddy, taproom, veronica-beard, john-hardy, puma and bowlero. Each page carries 74–80 total words, and the only prose paragraph on the page is the shared "Book a demo" CTA text. The substance is limited to two or three stat tiles. These pages are indexed, are linked from the homepage, from case-studies.html, and from the relevant vertical pages, and they cover the brands Adentro leads with — Puma, Bowlero and Primanti Bros. all appear in the homepage "Trusted by" strip. The remaining ten case studies do carry real narrative, ranging from 145 to 226 words.
Why it matters: These are the pages a buyer or an AI reaches when it follows Adentro's own proof claims, and there is nothing on them to retrieve. A language model asked "has Adentro worked with Puma" can find a ROAS figure with no context: no vertical, no timeframe, no problem statement, no mechanism. Unattributed numbers are the least citable content there is, because a model cannot state what they measured. The empty H2 makes it worse than a short page — an outline promising a section that does not exist reads as a broken template to a crawler and as an unfinished site to a buyer.
Recommended fix: Bring the seven stub pages up to the structure the slim-chickens and your-pie pages already use: challenge, what Adentro did, results, each with the data period and location count stated. Those two pages are the internal template worth copying. Until the copy exists, consider noindexing the seven stubs so that the ten complete case studies carry the citation weight instead.
What we found: Parsing the raw HTML of all 35 pages found exactly one JSON-LD block on the property: an Organization node on the homepage, whose url and logo point at the preview host. No other page emits any structured data. The gaps are specific: restaurants.html carries a six-question FAQ section ("What restaurant owners ask first") with no FAQPage markup; restaurants.html publishes plan prices of $25/mo and $49.99/mo and a 10%-of-ad-spend fee capped at $2,500/mo, and verizon.html publishes four named plan tiers, with no Product or Offer markup on either; the 18 case study pages carry no Article markup; no page emits BreadcrumbList, though several render a breadcrumb trail in the footer.
Why it matters: Structured data is how a page states its facts in a form a machine does not have to infer. FAQPage markup on the restaurants FAQ would hand answer engines six pre-formed question-answer pairs on exactly the objections buyers raise — hardware, staff effort, privacy, and how Walk-Through Rate differs from Meta's attribution. Offer markup would make Adentro's pricing machine-readable, which matters more than usual here because the knowledge graph identifies opaque pricing as a live competitive attack from Bloom Intelligence and GoZone WiFi, and because published prices are the one thing an LLM cannot safely infer. Article markup on case studies is also the natural carrier for the publication date those pages currently lack.
Recommended fix: Add FAQPage to the restaurants.html FAQ block, Article (with datePublished and dateModified) to the 18 case study pages, Product with Offer to restaurants.html and verizon.html, and BreadcrumbList wherever a breadcrumb already renders. Extend the existing Organization node with sameAs entries for the LinkedIn, Verizon Marketplace and G2 profiles, and correct its url and logo to adentro.com.
What we found: Across 35 pages, exactly one (news.html) carries a visible or machine-readable date — a <time datetime="2026-06-17"> element on its single announcement. The 18 case study pages carry no publication or update date of any kind, despite several describing bounded measurement periods: the golden-road case study describes a campaign that ran May through August 2022, and slim-chickens describes a January 2025 to February 2026 data period, both undated on the page. The sitemap omits lastmod entirely. The only machine date available is the HTTP Last-Modified header, and that is a deployment artifact rather than a content signal: all 34 adentro.com pages report a timestamp inside a single 36-hour window (11–12 August 2026), including pages whose content plainly predates it.
Why it matters: Freshness is a heavily weighted input to AI citation selection, and it weighs most on exactly the content type Adentro leaves undated. AI-cited content averages 25.7% fresher than content appearing in traditional Google organic results (Ahrefs, August 2025), and 76.4% of ChatGPT's most-cited pages had been updated within the previous 30 days (ConvertMate, ~Q4 2025; ChatGPT-scoped). With no date on the page and no lastmod in the sitemap, a crawler cannot award freshness credit even when the content is current — the four-year-old Golden Road campaign and the case study running through February 2026 are indistinguishable. The 19 content-marketing pages in this inventory therefore score 0.23 on average for freshness, not because the content is old but because its age is undeclared.
Recommended fix: Add a visible "Published" or "Last updated" date to every case study and news item, backed by <time datetime> and by Article datePublished/dateModified in JSON-LD. Populate sitemap <lastmod> from the content source's real modification date, not the deploy timestamp. Where a case study covers a measurement window, state that window on the page — slim-chickens already does this well and is the model to copy.
What we found: The homepage emits 7 Open Graph properties and 4 Twitter Card properties. Every other page on adentro.com — all seven vertical landing pages, the integrations, retail-media, meraki and verizon pages, and all 18 case studies — emits zero og: and zero twitter: tags. The homepage's tags are themselves misdirected, with og:url and og:image resolving to adentro-site.vercel.app. Meta descriptions, by contrast, are present and well-written on all 34 adentro.com pages.
Why it matters: Open Graph title and description are a compact, unambiguous statement of what a page is about, and several retrieval pipelines read them in preference to inferring a summary from body text. Their absence does not block crawling, but it removes a controlled summary from every commercially important page and leaves link previews — in Slack, in LinkedIn, in the messages where a buying committee actually shares a vendor page — rendering without a title card. Given that meta descriptions are already written for every page, most of the work here is already done.
Recommended fix: Emit og:type, og:url, og:title, og:description and og:image on every page, populating title and description from the <title> and meta description already present. Add matching twitter:card tags. Point og:url at the adentro.com canonical as part of the canonical fix.
What we found: Every one of the 34 adentro.com pages serves, as the first script in <head>, <script id="Cookiebot" src="https://consent.cookiebot.com/uc.js" data-cbid="COOKIEBOT_DOMAIN_GROUP_ID" data-blockingmode="auto">. The data-cbid value is a literal placeholder token, not a domain group ID. The preceding HTML comment reads "DATA NEEDED: Cookiebot domain group ID from Dave". Internal build comments of this kind appear throughout, between 5 and 44 per page, including notes recording editorial decisions and dates.
Why it matters: Two distinct problems. First, data-blockingmode="auto" instructs Cookiebot to hold back cookie-setting scripts until consent is resolved; with an invalid domain group ID the consent dialogue cannot initialise, so the blocking behaviour under a real browser is unpredictable and may suppress analytics or embeds sitewide. Second, HTML comments are served to every crawler. Internal notes naming a colleague and flagging missing data are retrievable content that describes the site as unfinished — a weak signal, but an entirely avoidable one on a property whose credibility rests on being an enterprise measurement vendor.
Recommended fix: Replace COOKIEBOT_DOMAIN_GROUP_ID with the real domain group ID from the Cookiebot account, or remove the script until the ID is available; shipping a consent manager in auto-blocking mode with an invalid ID is worse than shipping neither. Strip HTML comments at build time — most static site pipelines do this with a single minifier flag.
What we found: Head metadata is applied inconsistently. restaurants.html — the deepest and most commercially complete page on the site at 1,087 words, carrying the FAQ and the published pricing — has no canonical tag, no <meta name="robots"> directive, and no Open Graph tags, while its six sibling vertical pages all carry canonical and robots. The slim-chickens and your-pie case studies also lack canonical tags that all fifteen other case studies have. The pattern indicates head blocks are hand-maintained per page rather than generated from a shared template.
Why it matters: Inconsistency is the underlying defect: any per-page hand-editing of head metadata guarantees that some pages drift, and the drift lands unpredictably. Here it landed on the single page most likely to be cited for restaurant queries. Missing robots directives are not harmful in themselves — absence means index,follow by default — but a page with no canonical on a site that has a live duplicate host is exposed to whichever URL a crawler happens to reach first.
Recommended fix: Move head metadata into a shared layout or include that every page inherits, taking title, description, canonical, robots and Open Graph from per-page front matter with the base URL injected once. This finding and the canonical, sitemap and Open Graph findings above all resolve together once the head is generated rather than hand-maintained.
What we found: Outside the seven empty case studies, three commercially relevant pages score below 0.4 on content depth. meraki.html is 193 words, of which the Capture/Activate/Measure block repeated verbatim on six other pages accounts for roughly half, leaving about 90 words unique to Cisco Meraki operators. integrations.html is 281 words covering ten named integrations across POS, loyalty and CRM, giving each a single sentence. zenreach.html, the bridge page for the former brand name, is 66 words with one H1 and no other headings. Separately, the six vertical landing pages (retail, malls, venues, stadiums, bars, services) run 430–610 words each, of which roughly half is boilerplate shared verbatim across all six; restaurants.html, at 1,087 words with an FAQ and published pricing, shows what these pages look like when fully developed.
Why it matters: Depth here is about citability, not word count. An LLM asked whether Adentro works with Toast, or what is involved in connecting a Punchh loyalty programme, finds one sentence and cannot construct an answer with any specificity — so it either declines or cites a competitor's integration documentation instead. The two partner pages are the sharpest loss: meraki.html and the Verizon page exist to capture buyers arriving with a stated technology in mind, which is the highest-intent traffic on the site, and meraki.html gives that buyer 90 unique words. zenreach.html matters disproportionately for a different reason — the knowledge graph flags that much third-party content and AI training data still refers to the company as Zenreach, making that page a key entity-resolution surface, and it currently carries 66 words.
Recommended fix: Expand meraki.html with the specifics a Meraki operator needs: which models are supported, what the configuration change actually is, what the splash-page flow looks like, how long deployment takes per site. Give each integration on integrations.html its own heading and a short paragraph covering what syncs, in which direction, and what it enables. Expand zenreach.html to state the rebrand date, what changed and what did not, and where former Zenreach customers should go. Treat restaurants.html as the internal template when deepening the six vertical pages.
What we found: Content that is structurally a set of named subsections is not marked up as headings on three pages. verizon.html has one H1 and one H2 and no H3 elements at all, yet renders four named plan tiers — Startup, Basic, Advanced and Premium — each with its own feature list; none of the four tier names is a heading. integrations.html has no H3 elements while listing ten named integrations (Clover, Square, Toast, Heartland, Genius, Thanx, Punchh, Paytronix, MailChimp, Constant Contact), each with a description; the vendor names are styled divs. case-studies.html has one H1 and one H2 across a grid of seventeen named brands. By contrast the homepage and the vertical pages use a clean single-H1, descriptive-H2, descriptive-H3 structure, so the site clearly has the convention — it is applied inconsistently.
Why it matters: Headings are how a retrieval system segments a page into passages and learns what each passage is about. Where a named subsection is not a heading, its content merges into the surrounding block and loses its label. The practical cost on verizon.html is that a query about what a specific Adentro plan includes has no addressable passage to match against, even though the answer is on the page; on integrations.html, ten vendor names that buyers search for by name are invisible to heading-based extraction. This is also the cheapest structural fix available, because the content already exists and only its markup is wrong.
Recommended fix: Promote the four plan-tier names on verizon.html to H3 under an H2 for the plan section, promote the ten vendor names on integrations.html to H3 under the existing category H2s, and give each brand card on case-studies.html an H2 or H3 carrying the brand name. This is a markup change with no copy change and no visual change once the heading styles are matched to the current styling.
What we found: company.html ("Company | Adentro Walk-In Attribution and Guest WiFi Marketing", 256 words) and company-info.html ("Company and Contact | Adentro", 290 words) are near-duplicates. Both open with the same 100M+ profiles and 6,000+ locations statistics, both carry a "What we do" section describing capture, activate and measure, both carry an identical "Contact and details" block with the same sales address, support address, phone number, San Francisco headquarters address and 2012 founding date, and both are indexed and linked from the footer.
Why it matters: These two pages are the site's answer to "who is Adentro", which is the query class where entity consolidation matters most. Splitting the same facts across two competing URLs means neither accumulates the internal links or authority that a single canonical company page would, and a retrieval system choosing between them has no signal for which is definitive. company-info.html is the stronger of the two — it alone carries the "formerly Zenreach" statement, which the knowledge graph flags as essential for entity normalisation given how much third-party content still refers to the company by its former name.
Recommended fix: Consolidate into one company page. Keep company-info.html's content, including the "formerly Zenreach" sentence and the contact block, at whichever URL has the stronger link profile, and 301-redirect the other. Ensure the surviving page is the one referenced by the JSON-LD Organization node.
The following item could not be assessed through our analysis method (raw server HTML, no JavaScript execution). We recommend your engineering team verify it manually before the validation call.
What to check: This analysis retrieved raw server HTML directly, which made meta tags, canonical tags, Open Graph tags and JSON-LD directly assessable rather than inferred — those findings above are observations, not guesses. What raw retrieval cannot exercise is browser behaviour. Three things remain unverified: how the Cookiebot script in auto-blocking mode behaves with its invalid domain group ID once a real browser loads it; whether the interactive components render and expose text, specifically the audience calculator on the homepage, restaurants.html and retail.html, and the Vimeo video embeds on the homepage and company.html; and whether the Calendly booking widget referenced from every call-to-action loads without blocking paint. Worth stating plainly: all adentro.com page bodies are server-rendered static HTML and were fully readable without JavaScript, so there is no sitewide client-side rendering problem on the marketing site. The residual risk is narrow — a consent manager in auto-blocking mode is designed to withhold scripts, and an invalid configuration behaves differently for a crawler than for a developer who has already dismissed the banner.
Recommended action: Load a representative set of pages in a browser with JavaScript disabled and confirm body text and headings appear, which we expect they will. Then load the same pages with JavaScript enabled in a clean profile, before accepting consent, and confirm no content is withheld. Finally run the affected URLs through Google's Rich Results Test and URL Inspection to confirm what Googlebot renders after the canonical fix ships.
Scoring Caveat Freshness could only be scored for 19 of 35 pages. All 12 product and commercial pages and all 4 structural pages carry no detectable date in any form — no visible date, no <time> element, no sitemap lastmod, and an HTTP Last-Modified header that is a deploy artifact rather than a content signal. Those 16 pages are recorded as unscored rather than as fresh or stale, so the 0.23 weighted figure reflects only the 19 pages we could assess. Once dates are published, expect the picture to change in both directions — some pages will score better than the blended figure suggests, and some will score worse.
Why Now
The full audit measures how AI assistants answer the questions your buyers actually ask — from problem-stage phrasings like "seventy percent of the people who walk in leave no trace and I have no way to reach them again" and "I'm spending forty grand a month on Meta and I can't tell if it put a body in a seat", to evaluation-stage phrasings like "Adentro alternatives", "guest WiFi marketing platform that works with Meraki" and "who owns the guest emails captured over my own WiFi". You'll see exactly which of those return answers that name Bloom Intelligence, GoZone WiFi, Beambox, Purple or Placer.ai but not Adentro — and, given how much of the third-party web still says Zenreach, which answers are about you without ever using your name. Fixing the Layer 1 findings first means the audit measures a baseline you've already improved rather than one you'll wish you had.
45–60 minutes. We walk through this document together, settle the open questions in the Pre-Call 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 capture every response.
Visibility analysis, competitive positioning against the primary set, and a three-layer action plan prioritized by which gaps actually cost you citations.
Start Now — Engineering Four Layer 1 items your engineering team can begin before the validation call, and the first three are the same fix. (1) Repoint every canonical, og:url, og:image and the JSON-LD Organization url/logo at the adentro.com origin, generated from one deployment-time base-URL variable, and add the three missing canonicals on restaurants.html, slim-chickens.html and your-pie.html. (2) Pick one production origin and enforce it — either 301-redirect adentro-site.vercel.app path-for-path to adentro.com, or put the preview deployment behind Vercel deployment protection; a noindex tag alone won't hold while the canonicals and sitemap still point there. (3) Regenerate sitemap.xml from that same base-URL variable so its entries resolve to adentro.com, fix the Sitemap: directive in robots.txt, and emit a real <lastmod> per URL from the content source's modification date. (4) Replace the COOKIEBOT_DOMAIN_GROUP_ID placeholder with the real domain group ID — or pull the script until it's available — and strip HTML build comments at build time. Two further sub-day items fit in the same sprint: emitting Open Graph tags on the 33 pages that have none (the meta descriptions they'd be built from are already written), and promoting the four verizon.html plan tiers, the ten integrations.html vendor names and the case-studies.html brand cards to real headings. None of these depend on the rest of the audit, and they will improve your baseline visibility before we even measure it. Two larger engineering jobs to schedule rather than start today: server-rendering the support.adentro.com help centre, and the browser verification pass described in the checklist above. One thing you do not need to chase: robots.txt is confirmed open to GPTBot, ChatGPT-User, ClaudeBot, PerplexityBot, Google-Extended, Googlebot and Bytespider — that setup is worth preserving as the site changes.
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.