# An AI assistant for Google Analytics, on your own key

Ask about any property in plain English. The chat reads GA4, Search Console and every other source the property has connected, computes the numbers instead of guessing them, and cites what it used. Any provider, your API key, unlimited on every plan.

[Start free](https://app.aidata.stream/register) [How to ask good questions](/docs/using-ai-chat/)

## Three questions, one fix shipped

Search Console and GA4 together: where the demand is, what to fix first, and the title to use.

Analytics Chat GA4GSC

Claude

What are our biggest content gaps right now?

I compared the last 28 days of search demand against what actually reaches the site. Organic is already your biggest channel — 4,970 sessions, averaging 3m 44s a visit — but you’re leaving three things on the table:

Search impressions vs clicks · last 28 days

"waterfront homes" 4,755 impr · pos 12 · 7 clicks

"32 lakeview drive" 1,448 impr · pos 4 · 24 clicks

"3-bed homes for sale" cluster 1,238 impr · pos 15–20 · 14 clicks

"lakefront condos" cluster 1,120 impr · pos 11–14 · 14 clicks

1.  1. You’re on page 2 for your head term — 4,755 people saw it, 7 clicked. Almost nobody scrolls there.
2.  2. One listing ranks #4 for its own search and still takes only 1.7% of clicks — a position that normally earns high single digits. That’s a title-and-snippet problem, not a ranking problem.
3.  3. The "3-bed homes" and "lakefront condo" searches have no dedicated pages, so Google sends them to weak matches at positions 11–20.

sources · Search Console · GA4

Just now · Anthropic · Claude

What should we fix first?

In effort order:

1.  1. Rewrite the title and meta description on the lakeview listing. An easy win — at a normal CTR for #4 that’s roughly 90 extra clicks a month.
2.  2. Build the two category pages — ~2,400 impressions a month of demand currently landing on weak matches.
3.  3. Leave the head term for now — it’s a longer climb, and the category pages are what could eventually rank for it.

Your organic visitors already stay 3m 44s on average, so these clicks land on an audience that engages. Ask me again once the pages are live and I’ll measure the shift.

Just now · Anthropic · Claude

What should the title say instead?

The current title leads with the listing number — the one thing the searcher didn’t ask for. Lead with what they can’t see from the results page:

Title — now

32 Lakeview Drive | Listing #4821937 | Residential For Sale

Title — suggested

32 Lakeview Drive — 4-Bed Lakefront for Sale, Private Dock

Meta — suggested

Tour this 4-bed, 3-bath lakefront home with 180° water views and a private dock. Photos, floor plan and asking price inside.

They already typed the address, so the snippet’s job is to promise the specifics and the photos. 58 characters — nothing truncates.

Just now · Anthropic · Claude

A real analysis from one of our own properties — details anonymised.

## Exact numbers, not estimates

Language models are poor at mental arithmetic over hundreds of rows. So the chat does not do any. When an answer needs a total, an average, a week-over-week change or a comparison across sources, it stores the rows in a private database scoped to the conversation and computes with SQL.

-   Every number in the answer is the result of a query. You can watch the steps in the conversation.
-   Sources land in the same database, so they join by date or by page: Search Console against GA4, ads against sessions.
-   Stored rows never crowd the model’s working memory, so one fetch can hold up to 5,000 rows.
-   Queries are read-only. The cache is deleted with the conversation, cleaned up after 30 days idle, and left out of team backups.
-   Works with every provider you connect, because the storage sits in the app, not in the model.

The demo on the right uses 28 days of real rows from one of our own sites. The totals, the ratio and the flagged days are computed from those rows when this page is built.

Conversation database 2026-09-25 → 2026-10-22

You: For the last 28 days, do my Search Console clicks and my GA4 organic sessions track each other? Flag the days they diverge.

1.  `search-analytics` Search Console · clicks by date 28 rows stored
    
2.  `run-report` GA4 · sessions · Organic Search · by date 28 rows stored
    
3.  Query read-only, over both tables
    
    ```
    WITH r AS (SELECT SUM(s.sessions) * 1.0 / SUM(c.clicks) AS ratio           FROM gsc_daily c JOIN ga4_daily s USING (date))SELECT c.date, c.clicks, s.sessionsFROM gsc_daily c JOIN ga4_daily s USING (date), rWHERE ABS(s.sessions - c.clicks * r.ratio) > 0.5 * c.clicks * r.ratioORDER BY c.date;
    ```
    

They track each other. 505 organic sessions against 417 clicks, a steady 1.21 sessions per click. 3 days diverge, all above the line:

-   3 Oct 4 clicks → 10 sessions +106%
-   6 Oct 8 clicks → 15 sessions +55%
-   7 Oct 6 clicks → 11 sessions +51%

Every figure above is the result of a query over the stored rows, not an estimate.

## Pick the sources per conversation

Coloured pills at the top of every chat show the property’s connections. Click one to leave it out of this conversation: a focused question gets a focused answer, less context means a faster reply, and fewer tokens cost less. Your choice is saved with the conversation.

Data sources

GA4GSCGoogle AdsMeta AdsCloudflarePipedrive

Property admins can set which connections are in new chats by default.

## Pick the provider, model and effort

Anthropic, Google Gemini, DeepSeek or OpenAI, with your own key for each. Choose the model per conversation, and the reasoning effort where the model supports it. The in-app picker describes what each option is best for.

Tier

Speed

Quality

Cost

Lightweight

Fast

Good

Low

Balanced

Medium

Excellent

Medium

Powerful

Slower

Best

Higher

Reasoning

Slower

Best for complex problems

Higher

Start balanced. Reach for lightweight on quick checks and powerful or reasoning for the hard ones. [Setting up providers](/docs/ai-providers/).

## Say “show this as a chart”

Six chart types, drawn in the conversation from the data the AI just fetched. Interactive, with exact values on hover, and dark mode without asking.

-   Line
-   Bar
-   Pie
-   Doughnut
-   Scatter
-   Polar area

“Create a line chart of weekly sessions for the last three months.” Be specific about what to plot and the chart comes back right the first time.

## Steer the conversation

A chat you can shape, not a search box you retype into.

### Follow-ups that remember

The AI keeps the whole conversation in view. Ask for your top five landing pages, then for the traffic sources of just the first one.

### Annotations in context

Time-based questions check your annotations first, so "why did traffic drop on the 15th" can point at the server migration you noted that day.

### Fork from any answer

Branch a conversation from an AI response to explore a tangent without losing the thread you were on.

### Edit your last message

Rephrase the question instead of asking it again underneath.

### Exclude a message from context

Collapse an early dead end so it stops shaping later answers. Include it again whenever you want.

### Ask about the app itself

Ask how to connect Search Console or schedule a report and the AI reads the documentation before answering, with the exact button names and a link to the section.

### Presets give the AI a role

Team owners and admins create as many presets as they like, from a blank system prompt or from one of eight templates, and edit them at any time. Pick one above the message box and the AI interprets your question, weighs the metrics and formats the answer from that perspective. [Prompt presets](/docs/prompt-presets/).

-   Data Analyst
-   SEO Specialist
-   Marketing Manager
-   Content Strategist
-   Executive Summary
-   Ecommerce Analyst
-   Paid Media Specialist
-   Sales & CRM Analyst

## Unlimited chat, every plan

Chat is not metered. You bring an API key from Anthropic, Google, DeepSeek or OpenAI, requests go to that provider at its published prices, and AI Data Stream adds nothing on top. Keys are encrypted at rest and used only for your team’s questions.

-   Free: 2 properties, GA4, Search Console, PageSpeed, Core Web Vitals and DataForSEO
-   Pro and Business: the ad platforms, Tag Manager, Cloudflare, sitemap, WordPress, GitHub and CRMs join the same chat
-   No AI credits to buy, no per-seat AI fee, no question cap

[Why bring your own key](/docs/byok-explained/) · [Compare plans](/pricing/)

## Goes further with context

The chat reads more than data. Annotations explain the dates, the knowledge base and property context explain the business, AI memory keeps what your team has said, and the to-do list collects the follow-ups.

-   [Use the same tools from your own AI client](/features/mcp-server/)
-   [Annotations and the algorithm updates feed](/docs/annotations/)
-   [AI memory](/docs/ai-memory/) · [Knowledge base](/docs/knowledge-base/) · [To-do list](/docs/todos/)

## Questions

### Do I need SQL or coding skills?

No. You ask in plain English. When an answer needs arithmetic the AI writes and runs the SQL itself over the rows it fetched, and you can see the steps in the conversation.

### Which AI providers can I use?

Anthropic, Google Gemini, DeepSeek and OpenAI. You add your own API key for each provider you want, and you can switch provider and model per conversation.

### What does a question cost?

Whatever your AI provider charges for the tokens used. AI Data Stream adds no markup and sets no cap on chat. Toggling off sources you do not need keeps the context, and the bill, smaller.

### How is this different from pasting a CSV into a chatbot?

The chat fetches live data from your connected sources, and when it needs totals, averages or comparisons it stores the rows in a database scoped to the conversation and computes with SQL. Every number is a query result, and a single fetch can hold up to 5,000 rows.

### Is my analytics data stored?

Analytics data is queried live when you ask. Rows the AI stores for arithmetic live in a cache scoped to the conversation: deleted with the conversation, cleaned up after 30 days of inactivity, and excluded from team backups. Your conversation history is kept for reference.

### Can the AI change anything in my accounts?

No. Connections are read-only. The only write to a connected platform is the optional sync of your own annotations to GA4, which you control.

### Can I use it from Claude or another AI client instead?

Yes. The connector gives your own MCP client the same data tools, though exact-numbers analysis, charts, reports and scheduling stay in the app.

## Launch history

-   2026-10-10 Shipped [Thinking and effort levels for DeepSeek](/blog/deepseek-flash-thinking-and-effort-levels/)
-   2026-10-02 Shipped [The AI answers questions about AI Data Stream itself](/changelog/)
-   2026-07-05 Shipped [Exact numbers and cross-source joins: the AI does real math](/blog/your-ai-analyst-now-does-real-math/)

Page last updated 2026-10-25.

## Ask your first question

Connect GA4 and Search Console, add an API key, and get a real answer in your free month of Business.

[Start free](https://app.aidata.stream/register) [Getting started guide](/docs/getting-started/)

---

Source: https://aidata.stream/features/ai-chat/
