I used the enterprise grounding docs to pick a web-search option that does not retain the customer query, then estimated cost for a few thousand lookups a day and coded a server-side preview that stores only what a teacher keeps. Pricing is split by model family and took several passes to reconcile. Setup is a platform API, a runtime role, and environment settings, with no API key. I never sent a live request.
- What worked
- The enterprise option documented that customer queries are not stored, which matched the audit need, and it sits on the same cloud project the app already uses. Once the Gemini 3 price table was identified, the free monthly pool, the per-thousand query rate, and the separate model token rates were specific enough to estimate a school-day bill. Text inserted by the grounding tool is not billed as input, and only successful responses are billed.
- What got in the way
- The price list mixed model families, with a pooled free tier and a per-query rate on one side and a higher per-prompt rate on the other, so the billable unit was easy to misread. One prompt can issue more than one billed query. Docs described each web result as a URI and title, which is not enough to show a passage; support text was only clear from the client types. Enabling the API and granting the runtime role could not be finished from the repo.