To connect GA4 to Gemini Enterprise, connect your GA4 property to Windsor.ai, then add Windsor.ai as a data store in the Gemini Enterprise console and authorize it. Gemini can then answer questions about sessions, users, key events, revenue, landing pages and channels, and compare them with your ad platforms and Search Console in the same chat. The GA4 connection is read-only: Gemini reads reports and cannot change property settings (see the Windsor.ai write actions list).
Google also has Gemini inside Google Analytics itself, called Ask Advisor, which answers questions about one property in the GA4 interface. Gemini Enterprise suits teams that already work in it, or that need GA4 next to data from outside Google Analytics.
Get started with Windsor.ai: free forever plan, no credit card. onboard.windsor.ai/app/googleanalytics4
Before you start
- Gemini Enterprise Standard, Plus, Frontline or Pay-as-you-go, set up in the Google Cloud console. The Business edition has its own setup and a smaller choice of connectors.
- A Google Cloud project that belongs to your organization (Google Workspace or Cloud Identity), with billing turned on and Gemini Enterprise activated. A project created with a personal Gmail account cannot configure the access control the data store needs.
- The Discovery Engine Editor role on that project for the person who creates the data store.
- Viewer access or higher to the GA4 property for the Google account you connect.
- A Windsor.ai account. The free forever plan covers one data source, which is enough for GA4 on its own. GA4 next to Google Ads or Search Console needs a paid plan after the first 30 days, from $19 a month (billed annually) for 3 sources or $99 a month for 7. See Windsor.ai pricing.
Google bills Gemini Enterprise and the data store to your Google Cloud billing account, separately from your Windsor.ai plan.
Step 1: Connect GA4 to Windsor.ai
- Open onboard.windsor.ai/app/googleanalytics4 and sign in with the Google account that can see your property.
- Select the GA4 properties Gemini should be able to query.
- You can skip the destination step. Gemini Enterprise reads the data through the data store you create next.
Step 2: Add Windsor.ai to Gemini Enterprise
The Windsor.ai data store is in public preview under Google’s Pre-GA terms. The main actions are below. The full Gemini Enterprise setup guide has each screen and the error messages you may meet.
- In the Google Cloud console, open Gemini Enterprise, then Data stores, and click Create data store. Under Third-party data sources, choose Windsor.ai.
- Under Entities to search, select Connectors.
- On the Actions step you can leave both actions off for GA4, because reading data works without them. Enable Execute Action only if you also want Gemini to make changes in an ad platform you have connected.
- Choose the location: global (Google’s recommendation), us or eu. You cannot change it later, and your Gemini Enterprise app must use the same one. If the console asks for access control, choose Google Identity unless your company signs in through Okta or Microsoft Entra ID.
- Keep General pricing, click Create, and wait until the data store shows Active.
- In your Gemini Enterprise app (same location), open Connected data stores, click Add existing data stores and select the Windsor.ai data store.
- Open the app’s web URL, click the puzzle piece icon below the Ask Gemini Enterprise box, click Authorize next to Windsor.ai, then Allow Access, and sign in to Windsor.ai.

Questions return no results until you authorize. Afterwards, check that the Windsor.ai toggle under the puzzle piece icon is on.
Step 3: Check the connection with one question
Show sessions and key events by session default channel group for the last 7 full days in [property name], leaving out today.
Compare the numbers with the Traffic acquisition report in GA4 for the same dates. Today is left out because GA4 keeps processing the current day, and recent days can still change for up to two days.
GA4 data Gemini can read
| Area | Fields |
|---|---|
| Traffic | sessions, active_users, newusers, engaged_sessions, engagement_rate, bounce_rate, average_session_duration, screen_page_views |
| Results | conversions (key events), event_name, event_count, transactions, totalrevenue |
| Acquisition | session_default_channel_group, session_source_medium, source, medium, first_user_source_medium, campaign |
| Pages | landing_page, landing_page_plus_query_string, page_path, hostname |
| Audience | country, devicecategory |
| Time | date |
In the connector, the field called conversions holds GA4 key events. Rates such as engagement_rate and bounce_rate come back as fractions (0.72 means 72%).
Prompts for GA4 in Gemini Enterprise
Channel changes
Compare sessions and key events by session default channel group for the last 28 days against the 28 days before. Which channels changed by more than 15%?
Comparing 28 days with the 28 before needs 56 days of GA4 history, and the 6-week and 12-week questions below need more still, while the free forever plan stops at the last 30 days: run them on a paid plan.
Landing pages with traffic and no results
List landing pages with more than 500 sessions in the last 30 days and fewer than 5 key events. Show engagement rate for each.
Content update check
For the landing page /pricing/, show sessions, engagement rate and key events by week for the 6 weeks before and after 1 September.
Device split
Show engagement rate and transactions by devicecategory for organic search sessions this month.
AI assistant referrals
Show sessions and key events where session source contains chatgpt, gemini, perplexity or claude, by week for the last 12 weeks.
For more, see the Windsor.ai prompt library.
GA4 rules that change Gemini’s answers
These come from how GA4 records data and apply to every assistant and every connector:
- Leave out today and check the last two days. GA4 can update recent data for up to 48 hours.
- Add hostname when a property tracks more than one site or subdomain. The same page path can exist on two hosts, and a join on the path alone adds their sessions together.
- Expect some sessions without a landing page. GA4 reports them as “(not set)”, which lowers every page-level ratio.
- Name the date range in every question. Without one, an assistant picks its own default, which may not match the report you compare with.
Our Google Analytics MCP guide shows these effects on windsor.ai’s own property.
GA4 next to Search Console and Google Ads
- GA4 and Search Console: For our top 30 landing pages by Search Console clicks in the last 28 days, show GA4 sessions and key events from organic search for the same pages. Expect the two to differ: Search Console counts clicks from Google Search, and GA4 counts sessions, which start when a visitor views a page that carries the GA4 tag.
- GA4 and Google Ads: Compare Google Ads conversions by campaign with GA4 key events from google / cpc sessions for the last 30 days.
- GA4 and Meta Ads: Show Meta Ads link clicks by campaign next to GA4 sessions where source contains facebook or instagram.
Each extra source counts toward your Windsor.ai plan’s source limit.
Other ways to use GA4 with Gemini
| Route | Where it works | What it does |
|---|---|---|
| Windsor.ai data store | Gemini Enterprise | Reads GA4 and your other connected sources in one chat |
| Ask Advisor in Google Analytics (beta) | Inside the GA4 interface | Gemini-powered answers, charts and report links for the property you are in. English-language properties, eligible accounts |
| Google Analytics MCP server | MCP clients you run, such as Gemini CLI | Google’s open-source, read-only server; needs a Google Cloud project, Python and the Google Cloud CLI |
Setup for the MCP server and Gemini CLI is in our Google Analytics MCP guide. Ask Advisor is described in Google’s help article.
Troubleshooting
Your GA4 property is missing from the list in Windsor.ai
Google checks GA4 access when you authorize, and a property shared with you afterwards does not appear until you connect again. Confirm the Google account has Viewer access or higher on the property, directly or through the GA4 account. Then unselect all properties in Windsor.ai, reconnect and select the property (Windsor.ai GA4 setup guide).
Gemini reports “Some of the selected fields cannot be queried together”
Every GA4 field has a scope (user, session, event or item), and the GA4 Data API refuses some combinations. The most common one is source_medium, which is event-scoped, in the same question as transactions, engaged sessions or event counts. Ask Gemini to use session_source_medium instead and run the question again (Windsor.ai guide to this error).
Gemini reports that the GA4 API quota is exhausted
Google limits how many Data API tokens each property can use per hour and per day. Questions with many dimensions, detailed fields such as page paths, or long date ranges use the most (GA4 Data API quotas). Wait for the hourly quota to refresh, then ask for fewer dimensions or a shorter range. If it happens every day, another tool may be using the same property’s quota.
Users added up by day are higher than the GA4 total
GA4 counts each user once for the whole date range. Split by date, a person who visited on two days appears in two rows, and the sum of the rows is higher than the report total. To compare with a GA4 report, ask for users without the date field (Windsor.ai guide to GA4 data differences).
Gemini has no GA4 data after you authorized Windsor.ai
After you connect the data store to the app, wait about 10 minutes and refresh the web app. If questions still return nothing, make sure the data store is Active, the Windsor.ai toggle is on and the GA4 property is selected in Windsor.ai (full Gemini Enterprise setup guide).
Conclusion
With Windsor.ai as a data store in Gemini Enterprise, GA4 questions read your property directly, next to every other source you connect. Run the channel check first, then the landing page and content update prompts, and keep the date rules above in each question.
Next steps:
- Follow the full Gemini Enterprise setup guide.
- See every source on the Gemini Enterprise integrations page.
- Add Google Ads to Gemini to compare ad platform conversions with GA4.
- Using Claude or ChatGPT as well? Read how to connect GA4 to Claude or how to connect GA4 to ChatGPT.
Connect GA4 to Windsor.ai: free forever plan, no credit card. Start free
FAQs
Can Gemini change my GA4 settings?
No. The Windsor.ai GA4 connection is read-only, and GA4 has no entry in the list of Windsor.ai write actions. Gemini can read reports but cannot create key events, edit data streams or change property settings.
Does this work with Universal Analytics?
No. This guide covers GA4 properties. Standard Universal Analytics properties stopped processing data in July 2023, and Analytics 360 properties in July 2024.
Can I query several GA4 properties at once?
Yes. Select each property in Step 1, then name the properties in your question, for example “compare sessions for property A and property B”.
Can I use Gemini CLI instead of Gemini Enterprise?
Yes, with a different setup. Gemini CLI reads MCP servers from its settings file, either Google’s Analytics MCP server or a hosted one such as Windsor.ai. Our Google Analytics MCP guide covers Google’s server, and the Gemini CLI setup guide covers Windsor.ai.
Does this work with a personal Gmail account?
No. Gemini Enterprise needs a Google Cloud project that belongs to a Google Workspace or Cloud Identity organization.
How much does it cost?
Windsor.ai has a free forever plan for one data source, with no credit card. Paid plans start at $19 a month (billed annually) for 3 sources. Gemini Enterprise and the data store are billed by Google separately.

