Total Search Visibility Platform
Innovate UK grant build of a Total Search Visibility platform that unifies AI-search citations with traditional search and social metrics.
Buyers are getting answers from AI surfaces GA4 cannot count.
Hallam Internet is a Nottingham digital agency whose clients spend real money on search visibility. The team had been watching the same shift their clients were starting to feel: buyers were getting answers from ChatGPT, Perplexity, and Google's AI Overviews, then never landing on a page that GA4 could count. Zero-click search has broken the agency reporting model on exactly the surface the brand most needs to defend.
Traditional rank-tracking cannot describe an AI Overview. The agency reporting model has no shared unit for comparing a footnote in ChatGPT against a position-three Google result. Hallam's CEO wanted an analytics product that could put those moments on the same dashboard as Google rankings, not a thought-leadership post about why it mattered.
- One scoring index across AI citations, traditional search, and social, not three reports stapled together.
- Multi-tenant from day one, with the boundary enforced at the database layer.
- Calibration belongs to the agency: weights live in a table, not in code.
- Innovate UK rules: grant funds the novel R&D, not the commodity SaaS plumbing.
- Hallam owns the IP at the end: citation monitor, scoring engine, codebase.
Inside the Total Search Visibility Platform.
One Share of Visibility headline across every tracked surface
The dashboard a beta-tier client opens. Headline index, trend chart, per-channel breakdown across traditional search, website analytics, social media, and AI visibility. Same number, same date range, every surface.
Citation rate across OpenAI, Perplexity, and Gemini
Per-engine citation counts and a twelve-month trend chart that GA4 cannot produce. The view that puts a number on a buyer journey that never reached the site.
Every citation pinned to a date, a model, and a source URL
Per-prompt citation rate, average position, sentiment, and platform breakdown. The per-run history table shows exactly when each AI engine cited the brand and which URL it linked to.
Social engagement ingested into the same scoring pipeline
YouTube views, likes, comments, and subscribers in the same normalised pipeline as search and AI. Engagement breakdown and subscriber growth feed the Share of Visibility weighting alongside everything else.
The per-metric controls that make the index the agency's own
The weights table behind the Share of Visibility formula. Hallam Insights staff calibrate organic visits, engaged sessions, and social signals on their own schedule. A weighting change is a row update the next dashboard read picks up.
Database-first scoring, a citation monitor, and a tenant boundary that lives in the data.
Foundations sit on a UK-hosted Supabase project in the AWS London region. Row-Level Security pins every read to a tenant, and a CI pipeline puts a preview environment behind every pull request. The boundary between Hallam Insights staff and beta-tier clients lives in Row-Level Security rather than in front-end code that could be skipped.
On that foundation the ingestion pipeline runs as serverless edge functions per data source. Each function owns one connector, one validation pass, and one normalised insert. Failures stop ingestion rather than poisoning it; a schema change raises an alert rather than producing a quiet bad dashboard the next morning.
The LLM Citation Monitor sits beside it as a scheduled function. It reads target prompts from a table Hallam controls, queries each generative engine through its API, parses the unstructured response for brand-domain citations, and writes hits into a dedicated citations table. Rate limits, retries, and cost ceilings are built into the agent so one bad day on a third-party API does not become a bad week on the platform.
The scoring engine is database-first. Weights live in a table the agency owns, a SQL view computes the Share of Visibility index from the latest weights on every read, and the dashboard reads from that view. Calibration is a row update, not a deployment.
- Row-Level Security per tenant at the PostgreSQL layer; admin tier with cross-tenant visibility for Hallam Insights staff.
- LLM Citation Monitor: scheduled agent against ChatGPT, Perplexity, AI Overviews, and Gemini.
- Connector functions per source: GA4, Search Console, YouTube, with the same validation and insert path.
- Database-first Share of Visibility view, computed from a weights table the agency edits.
- Admin UI for managing weights without a deployment; CSV export from every dashboard.
- API keys held as encrypted secrets, never exposed to the browser. ISO 27001-aligned controls.
The same query, two visibility realities, and one pipeline that resolves them.
One brand, one query. Google ranks it third on the SERP. The AI Overview answers in-surface and cites it as footnote two. GA4 records neither event the same way, which is exactly the problem the platform exists to solve. The pipeline diagram below is how the citation, search, and social signals resolve to one score.
A live multi-tenant platform with the citation monitor running in production.
For Hallam Insights
Client questions about ChatGPT, Perplexity, AI Overviews, and Gemini answered in the same review they used to spend on Search Console.
Calibration without releases
Scoring weights live in a table the agency owns. A weighting change is a row update the next dashboard read picks up. No deployment, no engineering ticket.
Onboarding as configuration
Tenant isolation enforced in the database. Adding a paying brand is a row of configuration, not a new build.
Innovate UK IP
The citation monitor, the parsing logic, and the scoring model belong to Hallam. The codebase is theirs to host, extend, and license.
Three observations that did most of the design work.
- 01
Zero-click search has broken GA4 visibility
The session never starts, so the agency reporting model goes quiet on exactly the surface the brand most needs to defend.
- 02
AI Overviews surface differently per platform
Citations arrive as footnotes, inline links, or paraphrased mentions depending on the engine. One parser is not enough.
- 03
Platform-aware weighting matters
A footnote in an AI answer that ends the search is worth more than a position-eight result that never gets clicked. The weights belong to the agency, not to the vendor.
Edge functions per source. A scheduled citation monitor. A SQL view computing the index per read.
A GA4 connector is API plumbing; a generative AI connector is a different shape of problem, since the response is prose and two identical queries can return two different answers an hour apart. The ingestion pipeline runs as serverless edge functions per data source: each function owns one connector, one validation pass, and one normalised insert. Failures stop ingestion rather than poisoning it. A schema change raises an alert rather than producing a quiet bad dashboard the next morning.
How we delivered it.
Stack
Capabilities
Compliance
From scoping to live.
- Innovate UK scopingGrant focus pinned to the parts of the platform that did not exist in the market: the citation monitor and the cross-surface scoring engine. Weeks 1-3
- Foundation and multi-tenancySupabase project in AWS London, Row-Level Security keyed to tenant on every read, role-based routing in the front end, preview environments on every PR. Weeks 4-10
- Citation monitor and scoringScheduled agent against ChatGPT, Perplexity, AI Overviews, and Gemini. Database-first Share of Visibility view computed from a weights table the agency owns. Weeks 11-20
- Multi-source ingestion and dashboardsGA4, Search Console, and social connectors wired into the same normalised insert path. Admin and tenant dashboards with CSV export and benchmarking views. Weeks 21-26
- Beta operationHallam Insights admin tier active, beta-tier client tenants live on read-only dashboards, citation monitor running on Hallam-controlled prompts. Ongoing
Bring your team's next AI project to a 30-minute call.
No deck. We listen, sketch a delivery shape, and tell you honestly whether AI is the right tool for the problem.