To cut Google Cloud Artifact Registry cost, delete old and untagged image versions with cleanup policies, keep images in the region where they are pulled so pulls avoid egress, shrink images with smaller base layers, and consolidate abandoned repositories. Storage is the main charge, billed per GB per month, and it grows unbounded unless cleanup policies remove the versions CI keeps pushing. Egress is the second charge, and it disappears when the consumer and the repository sit in the same region. Most registries can be cut sharply just by enforcing version retention.
Last updated: June 2026. Written by Morten Andersen and reviewed by Fredrik Filipsson, built on our See, Cut, Lock, Run method.
This guide sits in our complete guide to Google Cloud cost optimization, the cluster pillar it links up to, and connects to the broader cloud cost optimization playbook. The egress side overlaps with logging and routing cost, so read it alongside our companion guide on how to cut Cloud Logging and Log Router costs on GCP. Pruning the registry is a Cut step move against storage that nobody is watching.
Turn on cleanup policies. A CI pipeline that pushes an image on every commit will store hundreds of versions per image within months, each carrying full layers, and none of it gets deleted by default. A cleanup policy that keeps only recent or tagged versions and removes the rest caps storage at what you actually use. Run it in dry-run mode first to confirm what it would delete, then enforce it.
How is Artifact Registry priced?
Artifact Registry is priced on storage and network egress. Per the Artifact Registry pricing documentation, storage is charged per GB per month for the data your repositories hold, with a small always-free allowance, and the same rate applies to regional and multi-regional repositories. Network egress applies when images are pulled out of the storage region, at standard Google Cloud egress rates, while pulls within the same region are free. The practical consequence is that the bill is almost entirely accumulated storage plus any cross-region pulls, so the optimization is retention and locality, not rate shopping. Confirm the current per-GB storage rate and free allowance in the linked pricing page before modeling, because Google Cloud prices change.
What is the biggest cost driver?
The biggest driver is accumulated image storage from old and untagged versions that continuous integration pushes on every build and never removes. Each push stores a new version, and without retention rules a single image can hold hundreds of versions, multiplying the storage you pay for far beyond what production ever runs. The second driver is egress from pulling images across regions, which turns a free in-region pull into a per-GB charge. Both are structural, not accidental, which is why automated cleanup and in-region storage matter more than any one-time cleanup.
How do I cut it, step by step?
Cut it by removing what you do not need, automating retention, and keeping pulls local. Five steps:
- Audit stored versions. List repositories by size and find old, untagged, and duplicate versions. Result: visibility into what is actually stored.
- Set cleanup policies. Keep only recent or tagged versions and delete the rest automatically. Result: storage stops growing unbounded.
- Keep image and consumer in-region. Store images where they are pulled. Result: in-region pulls avoid egress charges.
- Prune image layers. Use smaller base images and multi-stage builds. Result: smaller stored images and cheaper pulls.
- Consolidate repositories. Merge sprawling repositories and delete abandoned ones. Result: a smaller footprint and simpler cleanup.
Is your registry storing a year of dead image versions?
Our Google Cloud cost audit finds untagged and stale artifacts, sets cleanup policies, fixes cross-region pulls, and quantifies the storage and egress you can reclaim. On the performance model, you pay only from realized savings. No savings, no fee.
Book a Google Cloud cost audit →Does pulling images cost money?
Pulling images is free when the consumer runs in the same region as the repository, and costs standard egress per GB when it crosses regions or leaves Google Cloud. This is why locality is a cost decision: a build pipeline or GKE cluster pulling from a registry in another region pays egress on every pull, multiplied by the image size and the number of nodes. Store images in the region where your compute runs, and shrink images so each pull moves fewer bytes. For a multi-region deployment, weigh a multi-regional repository against the egress of cross-region pulls, and keep the storage side under control with the cleanup policies above.
The Google Cloud Cost Optimization Field Guide includes the Artifact Registry cleanup policy templates and the image locality checklist referenced above. It is the downloadable companion to this guide.
Frequently asked questions
How is Google Cloud Artifact Registry priced?
Artifact Registry is priced on storage and network egress. Storage is charged per GB per month for the data your repositories hold, with a small always-free allowance, and the rate is the same for regional and multi-regional repositories. Network egress is charged when you pull images out of the storage region, at standard Google Cloud egress rates. Most of the bill is storage that accumulates as CI pipelines push image versions that are never deleted.
What is the biggest Artifact Registry cost driver?
The biggest driver is accumulated image storage from old and untagged versions that CI pushes on every build and never removes. Without cleanup policies, a busy pipeline can store hundreds of versions per image, each carrying full layers. The second driver is egress when consumers pull images from a different region than where they are stored. Cleanup policies and in-region pulls fix most of the bill.
How do Artifact Registry cleanup policies work?
Cleanup policies are rules on a repository that automatically delete image versions matching conditions you set, such as keeping only the most recent N versions or deleting untagged versions older than a set age. You can run them in dry-run mode first to see what would be deleted before enforcing. They are the primary control for stopping unbounded storage growth without manual deletion.
Does pulling images cost money in Artifact Registry?
Pulling images is free when the consumer is in the same region as the repository, because there is no network egress. Pulling across regions or out to the internet incurs standard Google Cloud egress charges per GB. Keeping your build and runtime in the same region as the registry, and using smaller images, is how you keep pull cost near zero.
The short version
Artifact Registry cost is mostly accumulated image storage, so enforce cleanup policies to cap version retention, keep images in the region where they are pulled, and shrink images to cut both storage and bandwidth. Those three habits keep the registry small and pulls free. When you want stale artifacts cleared and retention automated across your repositories, that is what our Google Cloud cost optimization service delivers.
Cloud pricing and service behavior change frequently. Verify the specifics in this guide against the providers’ own current documentation and the FinOps Foundation: Google Cloud pricing ↗, Google Cloud documentation ↗ and FinOps Foundation Framework ↗. This article also reflects Cloud Cost Room’s hands-on, vendor-neutral engagement experience.