CostCompass An Almanac Beta
Google Cloud cost tracking

Know what Google Cloud is really costing you

Google bills Gemini and Vertex AI on the same account as Compute, Storage, and networking. Here is how that billing works — and how to keep a running total, an exact-cost option, and a forecast for the whole bill in the same view as every other provider you run.

By Joubert Berger Updated July 21, 2026

An antique almanac engraving: a balance scale weighing two pans of coin-like tokens against each other — the coins on one pan picked out in copper — beside a tally ledger column.
Two readings of the same spend — the estimate, and the billed total in copper.

Google Cloud's billing console is capable. It breaks your spend down by service and SKU, groups it by project, exports every line to BigQuery, and even forecasts your end-of-month cost. All of it stops at the edge of Google Cloud. It can't tell you what your Gemini calls cost next to the Anthropic, OpenAI, or hosting bills you run alongside them, and none of it shows up until you go into the console and build the report. For a solo developer or a small team, the numbers are accurate but siloed in Google's own tooling: one vendor's slice of a bill you still assemble by hand.

There are two ways to get the number. Read your per-model token usage from Cloud Monitoring and price it against published rates — instant, AI-only, and an estimate. Or enable Google's BigQuery billing export and read the line items Google itself bills — exact, your whole account, about a day behind. CostCompass does both, and puts the result next to every other provider you run.

This guide covers how Google bills across your Cloud account, where your usage data lives and the two ways CostCompass can price it, what one piece of setup unlocks, why a running total is harder to keep than it looks, and how to forecast next month before the invoice arrives.

How does Google Cloud billing work?

Everything you run on Google Cloud bills to one account, and your AI spend is a slice of it. Gemini tokens sit on the same monthly invoice as Compute Engine CPU hours, Cloud Storage, networking egress, and every other service, so the first thing to understand is that “the Google bill” is really two questions stacked together: what did the AI cost, and what did the rest cost.

Start with the AI, because for most developers building on Gemini it’s the part that moves. Google charges for the API by the token, and the rate depends on which model handled the request. Every call meters the input tokens you send (your prompt plus whatever context and system instructions ride along) and the output tokens the model generates back. Output costs several times the input rate, so a long completion runs up more than the prompt size alone suggests.

Two more token categories sit alongside those, and tracking them separately matters because each is priced differently. Cached input, a large stable prefix Google can reuse across calls, bills at a fraction of the normal input rate. And on the reasoning models, a block of hidden thinking tokens is generated before the answer and billed at the output rate, even though you never see it.

Token categoryHow it’s priced
InputBase rate for the prompt, system instructions, and context
OutputHighest rate — several times the input rate
Cached inputA fraction of the input rate when a later call reuses the prefix
ThinkingHidden reasoning tokens, billed at the output rate

Those four are where the money goes on text workloads, but they aren’t Google’s whole AI meter. Cached prefixes also accrue a small storage charge by the token-hour, audio and image inputs carry their own rates, and batch processing runs at a discount to the interactive price. If you use those, they show up on the same bill alongside the token charges above.

Model choice moves your AI bill more than anything else, and the lineup spreads across more than an order of magnitude per token. Gemini 3.1 Pro — still in preview as of this writing — is the flagship for the hardest work. Gemini 3.6 Flash is the everyday workhorse, close to Pro-level quality at Flash pricing. Gemini 3.5 Flash-Lite is the cheapest tier, for high-volume, simpler calls. Most of the savings come down to picking the right model for each job.

ModelTierBest suited for
Gemini 3.1 Pro (preview)Most capableHard reasoning, agentic, and coding work
Gemini 3.6 FlashMid-rangeEveryday coding, drafting, and high-volume agents
Gemini 3.5 Flash-LiteCheapestHigh-volume, latency-sensitive, simpler tasks

The same Gemini models are sold two ways — through Vertex AI and through the Gemini API from AI Studio — but one Google sign-in lets CostCompass read both and fold them into a single line per model, so you never have to track down which door a call went through. (Per-model rates live on Google’s Vertex AI and Gemini API pricing pages, and they change over time.)

Then there’s the rest of the bill. Whatever else you run on the account — a Compute Engine instance behind an API, a Cloud Storage bucket for assets, a load balancer, egress to your users — meters into its own per-service, per-SKU line items on the same invoice. It’s priced nothing like tokens, but it lands in the same monthly total, and for a real project it’s often a meaningful share of what you owe Google. Any honest read of “what is Google costing me” has to count it.

That leaves the part that isn’t metered at all. A Google AI subscription or a Gemini-in-Workspace add-on is a fixed monthly charge that lives outside the API billing system entirely. No usage endpoint returns it, so you account for it by hand.

Why is Google Cloud spend hard to track?

The billing itself is mechanical. Keeping ahead of it across a real project is harder, and a few things get in the way:

  • AI is buried in a bigger bill. Your token charges sit on the same invoice as Compute, Storage, and networking, so picking the AI slice out of the total — or seeing the total cleanly in the first place — takes digging through the console.
  • Projects multiply. As soon as you have a staging project, a production project, and a personal experiment, spend is scattered across separate Google Cloud projects, each with its own slice.
  • Thinking tokens are invisible. A reasoning model can burn far more output than its prompts imply, and you don’t see the thinking tokens that drove the charge — only the total, after the fact.
  • Google is rarely your only provider. If you also call Anthropic for Claude or build on OpenAI, route through OpenRouter, run inference on RunPod, or serve a site through Vercel and Cloudflare, the Google figure is one line in a bill no single dashboard will show you — the case for one view across every provider.

What’s the difference between estimated and exact cost — and what unlocks your whole bill?

Many providers only let you estimate API cost from token counts. Google gives you more room: with one piece of setup, CostCompass can show Google’s own billed number — and not just for AI, but for everything on the account. The two readings are different in what they cost you to set up and in what they cover, so it’s worth understanding both.

The moment you connect, CostCompass reads your Gemini token usage from Google Cloud Monitoring — across both Vertex AI and the Gemini API from AI Studio. It prices the tokens itself, multiplying the counts by per-model rates from a stored table and saving the rate it used with each day. That’s an estimate: accurate, reproducible, and available immediately with nothing to configure. It’s also AI-only. Cloud Monitoring reports token counts, not your Compute or Storage charges, so the estimate covers Gemini and Vertex AI and nothing else. The rates are each model’s standard tier, without the long-context premium Google charges past 200k-token prompts, so a heavy long-context workload reads a touch low. A past month’s cost stays put even after Google changes its prices, because the rate that applied then was saved with it. In the product, that figure is marked Estimated.

Two month-to-date AI figures side by side — one labelled Estimated, from token counts, the other Exact, from Google's BigQuery billing export.
The same month, two provenances: a token-count estimate, and Google's billed cost once the BigQuery export is enabled.

Enable Google’s BigQuery billing export once, a one-time setup in the Cloud console, and two things change at the same time. First, CostCompass switches to reading Google’s actual billed cost — the per-service charges your invoice is built from, at the prices Google actually charged you. Second, the reading widens from AI alone to your whole account: Gemini and Vertex AI line items, plus Compute Engine, Cloud Storage, networking, BigQuery, and every other service, each grouped under its own line. The spend figure upgrades from estimated to exact, the Estimated tag drops away, and the non-AI cost that no usage API ever exposed finally shows up. (If Google grants you promotional or committed-use credits, those appear as separate credit lines on the invoice — the figure here is the billed usage cost before credits.) CostCompass points you to the setup with a short walkthrough when you’re ready, and until then the AI estimate keeps you covered.

There’s a real tradeoff between the two. The estimate is instant and reflects usage the moment Cloud Monitoring reports it — but only for AI. The exact number needs that one setup and lands behind: Google’s billing export usually starts landing within a few hours, then keeps settling for several days as late-reported usage adjusts it, until the month closes. The estimate is your live read on today’s AI spend. The exact number is your whole Google bill, once it catches up.

What do you need for full reporting?

If all you want is a running read on AI cost, you’re done the moment you connect — there’s nothing else to set up. To get the full picture — exact billed cost, and every non-AI service on the account — you enable the BigQuery billing export. It’s the single piece of setup that separates “an estimate of my Gemini spend” from “my actual Google Cloud bill,” and it’s a one-time job in the Google Cloud console:

  1. Open Billing → Billing export and select the BigQuery export tab.
  2. Under Standard usage cost, click Enable Standard usage cost export, then choose a project and a BigQuery dataset to receive the data — create one if you don’t already have a billing dataset.
  3. Save. Google starts writing your billing line items to that dataset.
  4. Point CostCompass at that export table on the project’s card, then give the first export up to 24 hours to land. From then on, every Refresh reads Google’s billed cost straight from the export — your whole account, no BigQuery queries to write yourself.

The export is account-level: it covers every project and every service on the billing account at once, so one setup gives you exact cost for everything, not one project at a time. The Google connection itself is read-only throughout — CostCompass asks only for permission to list your projects and billing accounts, read Cloud Monitoring metrics, and read that billing-export dataset. It never gains permission to change anything, start or stop a job, or touch a resource.

How can you reduce your Google Cloud bill?

On the AI side, a handful of cost levers help, but model choice dwarfs the rest:

  • Right-size the model. Send high-volume, simpler calls to Flash-Lite or Flash and reserve 3.1 Pro for work that genuinely needs it. One routing change can cut a workload’s cost sharply.
  • Lean on cached input. System prompts and reference documents are large, stable prefixes — keep them consistent so the cached-input rate applies instead of the full input rate.
  • Dial thinking down. Reasoning tokens bill at the output rate, so a lower thinking budget on tasks that don’t need deep reasoning trims the invisible output charge.
  • Batch the non-urgent work. Move evals, backfills, and offline jobs off the interactive path so a spike there doesn’t blur your live spend.

On the rest of the bill, the same discipline applies to your infrastructure: shut down idle instances, right-size what’s left, and watch egress and storage growth, which creep up quietly. The one habit that catches all of it is the last:

  • Watch the daily trend. A per-day view, broken out by model and by service, catches a creeping spike — an AI workload or a runaway instance — in days. You’d otherwise find it on the invoice.

How do you forecast next month’s Google Cloud bill?

Forecasting here is plain arithmetic. The dependable method is a run rate: take your spend over the last several days, turn it into a daily average, and project it across a full month.

A 30-day line chart of daily Google Cloud spend with a steady upward adoption ramp.
A 30-day trend makes a developing spike — or a steady ramp like this one — visible days before the invoice would.

CostCompass uses exactly this method. It takes your trailing seven-day burn rate, multiplies it by the number of days in next month, and adds next month’s fixed subscriptions. The result is a single forward number: at this rate, here’s what next month costs. The seven-day window rides out day-to-day swings without smoothing over a model swap, a new instance, or a newly shipped feature.

How do you track Google Cloud costs?

CostCompass connects to Google Cloud and reads your spend directly, one day at a time — a token-based AI estimate the moment you connect, and Google’s billed line items for the whole account once the billing export is on. The AI usage is grouped by model: one clean total per model, with the token categories Google prices separately — input, output, cached input where Google reports it, and the hidden thinking tokens — rolled into that model’s line. Every model gets its own line, including prior-generation ones like Gemini 2.5 Flash you haven’t migrated off yet, so older usage never hides inside a newer model’s total. With the export on, the rest of your services sit alongside the AI, each grouped under its own service line, so a Compute or Storage charge is as visible as a Gemini one.

A horizontal bar chart of month-to-date Google AI spend broken down by model — Gemini 3.1 Pro, 3.5 Flash, 2.5 Flash, and 3.1 Flash-Lite.
Month-to-date AI spend grouped by model, across the Pro, Flash, and Flash-Lite tiers.

Two things make it practical for a single developer. First, you connect with Google’s own sign-in, and what comes back is encrypted in your browser before anything is stored. You approve CostCompass on Google’s consent screen, and the access it hands back is locked in your browser with your vault password. We do keep a copy, but only the locked version, which we have no way to open, because your vault password stays in your browser. To read your usage, your browser unlocks that access and passes it through a relay that uses it for that one request and is built not to log or keep it. So the only Google data we hold at rest is a locked blob we can’t open. No usable key to your account sits in our database or our logs. One sign-in covers every Google Cloud project you choose to enable.

The CostCompass dashboard showing month-to-date Google Cloud spend with a forecast and burn rate.
Month-to-date spend across every connected provider, with a forecast and burn rate, rolled up for you in a single view.

Second, Google doesn’t sit alone. The same dashboard rolls it up with your other connected AI and compute providers, Claude and OpenAI included, into a single month-to-date total with a forecast and a per-model, per-service breakdown. Stepping back from Google itself, how to track AI costs across providers compares every method for arriving at that one total.

For the part no API exposes, a Google AI or Gemini Workspace subscription, you enter the monthly cost once. CostCompass prorates it across the month, so both your month-to-date total and the forecast count the subscription alongside the metered usage.

The projects you pick come in as one spend card, scoped to a single billing account, so its running total and forecast cover that whole set together. If you track projects under more than one billing account, each account becomes its own card. Getting started takes three steps:

  1. Click Connect Google Cloud and authorize CostCompass in Google’s consent screen, then pick which projects to track.
  2. Confirm the month-to-date figure matches what you expect — it arrives as an accurate AI estimate straight away.
  3. When you want the exact billed number and the rest of your bill, enable Google’s BigQuery billing export once and point the card at it. The spend figure switches from estimate to billed cost, and from then on a click on Refresh pulls your latest Google Cloud usage, with the running total and forecast following.

Frequently asked questions

Does CostCompass store my Google Cloud credentials?
Not in any form we can read. You connect through Google's own sign-in and approve CostCompass on Google's consent screen, so there's no API key to paste. The access Google grants is locked in your browser with your vault password before anything is stored. What we store is the locked version only — your vault password never leaves your browser, so we can't open it. On each refresh, your browser does the unlocking itself and hands the access to a relay that uses it once and is built not to log or keep it. No usable Google credential ends up in our database or logs.
Does CostCompass show my whole Google Cloud bill or just Gemini?
Both are possible, and which you get depends on one setup step. The moment you connect, CostCompass reads your AI token usage — Gemini across Vertex AI and the Gemini API — from Cloud Monitoring and prices it into an estimate. That reading is AI-only. Enable Google's BigQuery billing export once and CostCompass switches to your exact billed cost across the whole account — Gemini and Vertex AI line items alongside Compute Engine, Cloud Storage, networking, and every other service — grouped by service and by model. The export is the only place your non-AI Google Cloud spend is available to read, so it is what turns the AI estimate into your full bill.
Do I need to enable the BigQuery billing export?
For the AI token estimate, no — it works the moment you connect, with nothing to configure. Two things do need it, though. The first is your exact billed cost, at the prices Google actually charged. The second is any of your non-AI Google Cloud spend at all — Compute, Storage, networking, and the rest. None of that reaches a usage API; it only exists in the billing export. Turn the export on once in the Cloud console and every Refresh reads your whole billed bill from it.
If I turn on billing for the Gemini API, do I still get the free tier?
No. Enabling billing moves that project to the paid tier, and from then on every call bills from the first token. There's no free allowance still running underneath a paid project. The free tier is a separate, un-billed mode with its own rate limits, and paying in leaves it behind for good. So the moment you switch billing on, all of your Gemini usage becomes the metered, billed spend that CostCompass reads and totals for you.
Vertex AI or the Gemini API — which one am I actually billed through?
Possibly both. The same models are sold through two front doors — Vertex AI on the Google Cloud side and the Gemini API from AI Studio — and one account can use both, so a model's usage can land on two different service lines. Which one applies comes down to how your code authenticates. The model you pick doesn't decide it. It's a common reason a total looks short, with usage sitting in AI Studio while you're only watching the Cloud console. CostCompass reads both line items under one Google sign-in and rolls them into a single AI total, so you don't have to track down where each call was billed.
Why is my Gemini bill higher than my token math suggests?
Three charges sit outside a plain prompt-plus-output token count. Reasoning models generate hidden thinking tokens before the answer, all billed at the output rate; prompts past Google's long-context threshold of 200k tokens bill at a premium; and explicit context caching adds a storage charge for every hour the cached tokens are held, whether or not you read them again. Any one can lift the bill above the headline per-token figure; the per-category rates all live on Google's Gemini API pricing page. CostCompass shows spend per model and per day, which is how you find which one is driving the total.
Can I set a hard spending cap on the Gemini API?
Now, yes — this changed recently. Google added a monthly spend cap you set per project in AI Studio, on top of a maximum that comes with your billing tier, and once spend reaches the cap new requests are paused until the next cycle. Two caveats — the cap enforces with a short delay, so a fast spike can run a little past it, and it's a stop, not a forecast, so it won't tell you you're on pace to hit it. That's CostCompass's half — a per-day, per-model view of where the month is heading, so you can ease off before the cap ever trips, with Google sitting alongside every other provider you run.
Do I need a paid Google Cloud account to see exact cost?
Yes. You connect a Google Cloud project with billing enabled, because the data the exact reading needs only exists on a billing-enabled account — paid usage runs against a billing account, and the exact number reads from Google's BigQuery billing export. Calls made on Gemini's free tier carry no charge, so they add nothing to the cost figure. What you track is the money Google is billing you.
Does turning on the BigQuery billing export cost anything?
Almost nothing. The export writes a small daily table of per-SKU billing rows to a BigQuery dataset, and CostCompass reads it with bounded, read-only queries — both metered by BigQuery, and both usually well within BigQuery's standing free storage and query allowances. If heavy use ever pushes past those, the charge is a rounding error against the bill you're already watching, and it lands on that same bill. Enabling the export changes your reading from a token estimate to your exact billed cost; it doesn't move your actual Google spend.
Why use CostCompass instead of Google's Cloud Billing console?
Google's console is good at Google. It breaks spend down by service and SKU and even forecasts your end-of-month cost, but only for Google Cloud, and only after you go in and build the report. CostCompass rolls your Google bill up with every other provider you run, including Anthropic, OpenAI, and your hosting bills, into one month-to-date total with a forecast and a per-model and per-service breakdown, refreshed in a click. You get Google's own billed cost without living in BigQuery, and your whole stack as a single number instead of a console per vendor.

About the author

Joubert Berger builds CostCompass, a spend-intelligence dashboard that pulls usage from AI and compute providers into one month-to-date total, a forecast, and a per-provider breakdown. This guide reflects how CostCompass reads each provider's own usage API — see the security model for how your keys are handled.

Stop guessing at the Google Cloud bill

Connect Google Cloud once and pull your spend — month-to-date, forecast, and per-model and per-service breakdown — with one click.