Skip to main content
Analytics combines browser events, server-side crawler hits, provider data, and attributed revenue per project. Use Set Up Analytics for installation.

Tracking ID and required domain

Each enabled site has a public tracking_id and required production domain. The domain allows that hostname and its subdomains. Analytics does not use the project API key.

Browser tag and allowed attributes

Browser payload and event APIs

Goals use tracked event names; funnel steps use page/event definitions produced by the same stream.

Collector endpoint, limits, and validation

The collector rejects missing tracking IDs, inactive/unknown sites, missing domains, disallowed hosts, excluded traffic, failed subscription access, and applicable rate limits.

Cookies, identity, and attribution

aiola_visitor_id lasts 365 days; aiola_session_id has a sliding 30-minute expiry. Both use path=/, SameSite=Lax, and Secure on HTTPS. Visitor identity also falls back to local storage. Visitor geography is available only when events reach the aiola.app gateway directly; a customer proxy hides the original connection.

Exclusions and Attack Mode

IP, path, country, and hostname exclusion lists are each capped at 50 entries. Paths support exact values or a trailing *; host exclusions include subdomains. Attack Mode applies the stricter collector rules above.

Bot/crawler endpoint and current classification

Only known crawler UAs are stored and the host must match the configured domain. Kinds map to dashboard buckets: fetch → Answers; search and classic index → Indexing; crawl → Training; ads, social, and remaining kinds → Other.

Dashboard Traffic view

Traffic shows views, visitors, sessions, bounce rate, session time, realtime, pages, entry/exit pages, titles, channels, referrers, campaigns/UTMs, geography, browser/OS/device/screen/language, events, session timelines, revenue, heatmap, and search health.

Dashboard AI view and visibility-score definition

AI shows crawl totals, bots, pages, timeseries, the four buckets, AI-answer referrals, uncrawled popular pages, crawler 404s, and discovery-file health. The deterministic 0–100 visibility score combines popular-page crawl coverage, crawler breadth, AI-referral visitors, assistant breadth, and robots.txt/llms.txt/sitemap health.

Goals, funnels, journeys, realtime, and retention

Goals are browser-local on the device. Saved funnels are project definitions. Journeys and realtime use collected sessions/events. Retention is available through the analytics MCP pipe rather than a dashboard panel.

Search integrations

Google Search Console and Bing Webmaster connections are account-level; each site maps one property/site in Settings → Analytics → Search Keywords. Provider URLs are capped at 500 characters. Search Console data is delayed about 48 hours.

Stripe/manual revenue

Stripe is connected per site. Checkout Sessions must carry aiola_visitor_id and aiola_session_id metadata. Manual revenue uses:

Export/import/clear/disable controls

Export returns at most 100,000 rows. Imports accept at most 10 MiB, 100,000 source rows, and 500,000 expanded events. Clear permanently removes site analytics; disable stops collection while preserving existing data.

Setup Health

Setup Health detects a missing tag, tracking-ID mismatch, and collector proxying. Proxying the script can bypass blockers; proxying collection loses trustworthy visitor geography.

Central Analytics aggregation semantics

Central sums site-level unique visitor/session counts across visible sites; it does not deduplicate one person across sites. It is an aggregate presentation, not another collector.

MCP tools and AI analysis

The workspace exposes get_analytics_overview, get_analytics, get_analytics_definitions, get_search_keywords, and get_indexing_issues. Analyze with AI opens a scoped reporting thread; analytics_retention supplies cohort retention.

Usage/quota behavior, with verified rejection semantics

Billable events are pageviews and custom events (event_type 1 or 2), excluding _leave, _identify, and _scroll. Monthly-quota overages are never rejected: enforcement is dashboard-side, so collection and storage continue and upgrading unlocks the analytics. When subscription access fails because the owner has neither a Pro plan nor an active trial, browser and bot collectors return 402 and do not store the event.