Your AI agent should watch your site. So you don't have to.
Sites have problems their owners never have time to look for — slow pages, broken CTAs, abandoned signups, visitors hammering things that don't work. Gentic Ingest is the data layer your agent reads to find those problems and act on them.
Gentic Ingest is a headless data layer. A tiny script on your website (under 2KB gzipped) sends events to a customer-scoped data lakehouse using DuckLake. The same Slack agents and automations you already use — Mother, your analytics agents in n8n, Claude, ChatGPT, anything built on the Gentic MCP — can now read that lake in natural language.
You never have to open a dashboard. You don't have to learn a new tool. The agent watches, the agent reports, and increasingly the agent acts.
Why this exists
Dashboards are the previous era.
Analytics platforms made sense when the only thing that could read a chart was a human. That's no longer true. AI agents can run queries, spot patterns, compare windows, and explain anomalies — without anyone clicking through a UI. Gentic Ingest is built for that reality: the data is structured for agents to reason about, not humans to graph.
Your team doesn't have time to look.
Even the best dashboard sits unused most of the week. The signups that broke last Thursday, the page that started taking 8 seconds to load on mobile, the rage clicks on a button that stopped working after a deploy — these problems live in data nobody opens. Gentic Ingest gives an AI agent the job of opening it, every day, on schedule. You hear about it when something matters.
The foundation for proactive AI.
Reading the data is step one. Acting on it is what comes next — agents that file a ticket when LCP regresses, page on-call when checkout drop-off spikes, suggest a redeploy when an old asset goes missing. Gentic Ingest is the groundwork for that future: a clean, queryable, AI-readable signal feed of what's actually happening on a customer's site.
What the agent watches
Examples of what your agent notices on its own. Not a feature list — an outcome list.
Performance regressions
When the page started loading slowly. Which URL. What changed.
Engagement collapses
When visitors stopped reading past the first scroll. When the signup form started getting abandoned.
UX friction
When users started rage-clicking elements that don't work. When forms started getting submitted multiple times.
Traffic anomalies
When a page suddenly got 4× the visitors. When a referring source dried up. When mobile shifted vs desktop.
Funnel drop-off
Where visitors give up. When the drop-off pattern changes. Which step lost the most ground.
Health baselines
What 'normal' looks like for your site, so the agent can tell when something isn't normal.
What it looks like in practice
Mother in Slack, delivering insight from the lake — without anyone opening a chart.
Heads-up — your /signup page had a 3× spike in rage clicks yesterday compared to last Tuesday. Same element each time (<p>, no class). Looks like a styled-as-button paragraph that isn't actually clickable.
23 visitors hit it, 7 hammered it 3+ times. Worth a UX check.
- Visitors: 1,847 (+12% wow)
- Bounce rate: 41% (was 38%) — slight uptick, mostly on
/pricing - LCP: passing CWV on 8 of 10 top pages;
/dashboardregressed to 4.1s p75 - New source: producthunt.com (217 hits)
- Form submits:
/signupdown 22% — submitters dropped from 38 to 30
How it works
The Ingest Snippet sends events. The lakehouse stores them. Agents query via MCP. You hear about what matters.
<script async src="https://ingest.gentic.co/gentic-ingest.js" data-site-key="YOUR_WRITE_KEY"></script>Get a real data-site-key and your read key by connecting a site.
Ingest Snippet
Under 2KB gzipped. Loads async, doesn't block your page. No-ops without consent.
Data lakehouse
Parquet on S3 with a Postgres catalog, using DuckLake. Customer-scoped per org. Built on open formats.
MCP tools
23 analytical primitives plus a constrained-SQL escape hatch for ad-hoc questions your agent composes on the fly.
Your agents
Mother in Slack, analytics agents in n8n, Claude, ChatGPT, anything you build on top of the Gentic MCP surface.
Gentic Ingest is a headless data layer — not its own MCP server. These 23 tools live on the Analytics MCP server, alongside PostHog and Northbeam tools.
What your agent can call
23 gentic_ingest_* tools your AI agent can call through the Model Context Protocol.
gentic_ingest_avg_engagement_time
Returns per-URL engagement metrics — average wallclock dwell time (avg_ms), average active-engagement time (avg_active_ms, NULL for pre-#68 legacy events), and average max scroll depth (0–100) — over the given window.
gentic_ingest_bounce_rate
Returns the bounce rate for the site over the given window — total sessions (containing at least one pageview), bounces (sessions with exactly ONE pageview), and the bounce rate percentage.
gentic_ingest_checkout_dropoff
Returns checkout-stage drop-off rates over the given window — unique-subject counts at each of (add_to_cart → checkout_started → checkout_completed → purchase), plus the step-to-step conversion percentage computed against the previous stage.
gentic_ingest_click_counts
Returns aggregate click counts grouped by element tag + class_chain over the given window.
gentic_ingest_click_heatmap_grid
Returns a 100×100 viewport-normalized click heatmap grid for the given window — rows of (url, vx_pct, vy_pct, clicks) where coords are integer 0–100.
gentic_ingest_daily_visitors
Returns unique-visitor count per UTC day for the given window.
gentic_ingest_describe_events
Returns the discovered schema for this site's events: per-event-type total_events / first_seen / last_seen aggregates, plus per-property the JSON type, non-null count, and up to 3 distinct sample values.
gentic_ingest_execute_query
Run a constrained SELECT against the events table within the time window.
gentic_ingest_funnel_completion
Returns unique-subject counts at each step of the ecommerce funnel (pageview → product_viewed → add_to_cart → checkout_started → purchase) over the given window.
gentic_ingest_list_available_queries
Returns the catalog of all gentic_ingest_* analytics tools available on this MCP endpoint — each entry has tool_name, a one-line description, category, and the underlying gentic-ingest API endpoint (null for the meta-tool itself).
gentic_ingest_list_sites
Lists the gentic-ingest sites (domains) connected for the current organization, with site_id, created_at, and revoked status.
gentic_ingest_pageviews_by_device_class
Returns pageview count and unique-visitor count grouped by device_class (mobile, desktop, or 'unknown' for pre-tracker-v1 legacy data) over the given window.
gentic_ingest_sessions_by_day
Returns daily session counts + bounces + average duration over the window, one row per UTC day.
gentic_ingest_sessions_summary
Returns dashboard-headline session stats over the given window — total_sessions, avg_pages_per_session, avg_duration_seconds, median_duration_seconds.
gentic_ingest_timeseries_purchases
Returns purchase event counts and summed revenue per HOUR bucket over the given window (rows: { bucket, purchases, revenue }).
gentic_ingest_top_entry_pages
Returns the URLs where the most sessions BEGAN — top landing pages, ordered by session count, with per-page bounce count and bounce rate.
gentic_ingest_top_exit_pages
Returns the URLs where the most sessions ENDED — top exit pages, ordered by exit-session count.
gentic_ingest_top_form_submits
Returns the most-submitted forms over the given window, grouped by (url, form_id), with submit count and unique-visitor count.
gentic_ingest_top_outbound_destinations
Returns the most-clicked outbound destination hosts over the given window, with click count and unique-visitor count per destination.
gentic_ingest_top_pages
Returns the most-viewed URLs over the given window, with pageview count per URL.
gentic_ingest_top_rage_clicks
Returns elements receiving the most rage-click incidents (3+ rapid clicks within 1500ms on the same element) over the given window, grouped by (url, tag, element_id, class_chain), with incident count, total-click count, and unique-visitor count.
gentic_ingest_top_sources
Returns the top referring pages (document.referrer) driving traffic to the site over the given window, with pageview count and unique-visitor count per source URL.
gentic_ingest_web_vitals_summary
Returns Google Core Web Vitals per URL — LCP and CLS averages plus p75 — over the given window.
Privacy by construction
Not configuration toggles — constitutional. Your agent literally cannot ask for data we don't collect.
No raw IP addresses stored.
Your agent works with truncated network identifiers; you can't accidentally fingerprint visitors through queries.
No User-Agent strings.
Only a coarse device_class (mobile / desktop) computed in the visitor's browser.
No DOM text or form field values.
Your agent sees that a form was submitted with 5 fields, never what was typed.
No session replay.
Heatmaps are 1%-bucketed at capture; individual visitor behavior is unreconstructable.
Subject-level deletion API.
For GDPR / CCPA — single call, removes every event for a subject.
Give your agent the analytics skill
A drop-in skill that teaches your AI agent exactly how to use the Gentic Ingest tools on the Analytics MCP server — daily and weekly site reports, current-vs-previous period comparisons, when to fall back to SQL.
The skill file is a single markdown document with the operating instructions Mother uses to produce site reports. Drop it into any MCP-compatible agent — Claude Code, Claude Web, ChatGPT, n8n — and the daily report works on day one.
Use the .skill bundle for Claude Code (drag into a project as a Skill). Use the raw SKILL.md for anything that takes plain markdown system prompts.
Building your own agent?
For most use cases you don't need to write SQL — Mother already knows how. This is for engineers building their own agents on top.