Wring Docs

Google Cloud

See your Google Cloud costs next to your AWS spend — read-only, from your own BigQuery billing export.

Wring shows your Google Cloud costs on the same dashboard as your AWS spend, so a mixed estate has one place to look. The data comes from the Cloud Billing export to BigQuery that Google Cloud writes into a project of your choice: you enable the export, grant Wring's service account read access to that one dataset, and Wring imports the rows once a day. No keys leave your organisation, nothing is installed, and nothing in your Google Cloud environment is changed.

Google Cloud data is visibility only for now: it appears on the dashboard and in the cost breakdown, but it does not feed savings, credit or funding eligibility, or invoicing — see what it does not feed.

At a glance

WhereLinked accounts → Google Cloud in Wring; costs on the Dashboard
Data sourceYour Cloud Billing export to BigQuery (Standard usage cost)
Accessroles/bigquery.dataViewer on one dataset — read-only, revocable any time
SetupAbout ten minutes in the Google Cloud console, then a three-step wizard in Wring
RefreshOnce a day; Sync now on demand
Query costsBilled to Wring's own Google Cloud project, never to you

Before you start

You need:

  • Billing Account Administrator on the Cloud Billing account you want to connect — that is the role that can enable the export. The billing account ID has the form XXXXXX-XXXXXX-XXXXXX and is shown under Billing → Settings in the console.
  • A Google Cloud project to hold the export, linked to that billing account, with the BigQuery API enabled. Any project works; many teams use a small dedicated one such as billing-export.
  • A BigQuery dataset in that project (for example billing_export). Create it first — the export settings only let you pick an existing dataset — and choose its location deliberately, because a dataset's location cannot be changed later.
  • The ability to share that dataset (BigQuery Data Owner on the dataset, or Owner on the project).

1. Enable the billing export

Google Cloud offers this step only in the console — there is no gcloud command or API for it.

  1. Open Billing → Billing export and make sure the right billing account is selected at the top of the page.
  2. On the BigQuery export tab, under Standard usage cost, choose Edit settings.
  3. Select the project and the dataset you created, then Save.

The status changes to Enabled. Note the project ID and the dataset name — the wizard asks for both. Once the first data arrives, Google Cloud creates a table named gcp_billing_export_v1_<billing account ID with underscores> in that dataset.

Only the Standard usage cost export is needed. You do not have to enable the Detailed usage cost or the Pricing export for Wring.

2. Grant Wring read access to the dataset

Wring reads the export with a Google service account. Its e-mail address is shown in the connect wizard (step 2, with a copy button) — grant it the BigQuery Data Viewer role on the export dataset, and only there:

  1. In BigQuery → Explorer, open the export dataset.
  2. Choose Sharing → Permissions → Add principal.
  3. Paste the service account address from the wizard, pick the role BigQuery Data Viewer (roles/bigquery.dataViewer), and save.

That role lets Wring run read queries against the dataset. It gives no access to any other dataset, project, or resource, and it cannot write, delete, or change anything. You can revoke it at any time from the same screen.

If the grant is rejected

If BigQuery answers "One or more users named in the policy do not belong to a permitted customer", your organisation enforces Domain Restricted Sharing, the organisation policy iam.allowedPolicyMemberDomains. Google enables it by default for organisations created after May 2024, so most newer organisations run into this.

An Organization Policy Administrator has to add an exception for Wring's Google Workspace customer ID — the wizard shows it right below the service account address — on the project that holds the export dataset (or on a folder above it):

  1. Open IAM & Admin → Organization Policies with the export project selected.
  2. Find Domain restricted sharing (iam.allowedPolicyMemberDomains) and choose Manage policy.
  3. Override the parent's policy, add a rule with custom values that allows Wring's customer ID, and save.

Then repeat the grant. The exception admits principals from Wring's Google Workspace only; it does not open the project to anyone else.

3. Connect the billing account in Wring

In your Wring dashboard go to Linked accounts → Google Cloud and choose Connect billing account. The wizard has three steps:

  1. Name the connection — anything that helps you recognise it, such as "Acme production (GCP)".
  2. Enable the export & grant access — a recap of steps 1 and 2 above, with the service account address and the role ready to copy.
  3. Enter details & test — the Cloud Billing account ID, the export project ID, the export dataset, and the export type (Standard usage cost, unless you deliberately enabled the detailed export — see the FAQ). Connect & test runs a live read against your export table.

If the test fails, the message says why. The usual causes are a typo in the project or dataset name, a grant that was not saved, and an export table that Google Cloud has not created yet (see below). Fix the cause and choose Retry connection test — the connection only becomes active once the test passes.

After a successful test Wring immediately starts importing the history the export holds. The connection shows First sync pending until that first import has finished, then Active, and the costs appear on the dashboard.

What to expect after connecting

  • The export starts empty. Google Cloud writes only usage from the moment you enable the export; it never backfills earlier months. The export table and its first rows typically appear within about 24 hours of enabling — until then, the connection test reports the table as missing.
  • Wring imports up to 12 months — all the history the export holds at connection time, capped at twelve months. A brand-new export therefore starts with a day or two of data and grows from there.
  • Daily refresh. Wring re-reads the export once a day. Every run re-imports the current and the previous month, so the corrections Google Cloud makes to already-exported rows during the invoice month are picked up automatically. Manage → Sync now refreshes on demand.
  • Days are UTC, as for your AWS data.

What Wring reads — and what it costs you

Wring reads the export table in the dataset you shared, and nothing else. For each usage day it takes cost, credits, and currency per service, project, and region, and nothing outside that table.

With Wring View turned on for your workspace, Wring also reads:

  • the name of each project, so your projects show under their names and not only their IDs;
  • from the detailed export, if you connected it: the cost of each resource with its name and SKU, and the labels of your projects and resources, so you can break costs down by resource and by label.

Wring uses these names and labels only to show and group your own costs. They are not shared with anyone else and are not used for anything beyond your workspace. Resource Manager tags and Google's system labels are not read. Without Wring View, Wring reads no labels and no project or resource names.

The queries run in Wring's own Google Cloud project, so their BigQuery charges are billed to Wring, never to you. What stays with you is only the storage of the export table itself, which Google Cloud bills to the export project as usual — a few cents a month for most accounts.

Currency

Google Cloud bills you in your billing account's currency, often EUR. The Wring dashboard shows every cost in USD so that AWS and Google Cloud add up, and converts each day's Google Cloud cost at the European Central Bank reference rate of that consumption day (currencies other than EUR and USD via the EUR cross rate). Converting at the day's own rate keeps a usage day's figure stable across refreshes instead of moving with today's rate. The original amount in your billing currency is kept alongside the converted value, and the Google Cloud tab shows the detected billing currency of each connection.

What Google Cloud data does not feed (yet)

Google Cloud costs are visible on the dashboard and in the cost breakdown, but for now they do not feed:

  • Savings — savings summaries, commitment recommendations, and the savings levers stay AWS-only.
  • Credits & funding — AWS funding programs are assessed on AWS spend, so Google Cloud spend does not count towards eligibility or credit estimates.
  • Invoicing — your Wring invoice continues to be based on your AWS usage only.

This page will say so when that changes.

Disconnecting

Open the connection's Manage dialog (the pencil icon) and choose Disconnect. This removes the connection and all the Google Cloud cost data Wring imported from it — the dashboard stops showing the account immediately. Your Google Cloud project is untouched, so also:

  • remove the service account from the dataset's Sharing → Permissions to withdraw read access.

You can disable the billing export too, but keeping it costs almost nothing and lets you reconnect later with the history intact.

FAQ

The tab shows $0 for this month, but we do use Google Cloud. Wring shows the net figure — what Google Cloud actually bills you. If free-trial credits, free-tier credits, or discounts cover your usage, net is $0 while the gross usage is not; the tab then prints the gross amount and the credits underneath (for example "$42.74 gross · −$42.74 credits"). Nothing is missing.

The connection says "First sync pending". The connection test passed and the first import is still running — twelve months of export can take a few minutes. It turns to Active when the import finishes; a failed import shows as Sync error, with the reason in Manage.

The connection test says the billing export table was not found. Google Cloud creates the table with the first data it exports, typically within 24 hours of enabling the export. Check that the export shows Enabled under Billing → Billing export, that the project and dataset in the wizard match what it exports to, and that the export type is Standard usage cost — then retry later.

The test says the service account lacks permission. The grant from step 2 is missing, was not saved, or was made on a different dataset. Open the export dataset's Sharing → Permissions and check that the address the wizard shows has the BigQuery Data Viewer role there. If the grant would not save, see If the grant is rejected.

Should I choose "Detailed usage cost" in the wizard? Only if you enabled that export into the same dataset. Wring works with the Standard export; choosing Detailed makes Wring look for the detailed export table, and the test fails with "table not found" when it does not exist. With Wring View on, the detailed export adds cost per resource and your labels — see what Wring reads.

Can I connect more than one billing account? Yes — one connection per billing account, each with its own grant. The dashboard lists each under its billing account ID. A billing account can be connected to one Wring workspace at a time.

Does Wring change anything in Google Cloud? No. The grant is read-only, Wring never writes to your projects, and disconnecting in Wring only removes what Wring imported.

The numbers differ slightly from Billing → Reports. Wring shows USD converted at each day's rate and net of credits, with UTC day boundaries; Google Cloud also restates recent days for a while, which the daily re-import follows. Compare the same range net of credits, in your billing currency, and the figures line up.

On this page