[ Web Proxy ]
URL:
Viewing: https://firebase.google.com/docs/projects/billing/avoid-surprise-bills [Back]  [Original]

Avoid surprise bills  |  Firebase Documentation Skip to main content
Overview Fundamentals AI Build Run Reference Samples
Firebase [Firebase]
Send feedback

Avoid surprise bills Stay organized with collections Save and categorize content based on your preferences.

Whether you're just starting out developing your app or you have a full-blown production app, you want to make sure you understand your costs and how to avoid surprise bills.

If you haven't already, check out the Firebase pricing plans to understand how billing for works for Firebase.

Important: Firebase pricing plans apply to the entire project, not just to individual apps registered in the project. When you're determining which pricing plan is right for you, consider the usage from all the apps registered in the same project. Learn more about best practices for when to add multiple apps to the same Firebase project.

This page guides you through important aspects of understanding and monitoring your usage and spend levels, including:


Test your code

Testing your code before deploying to production is a great idea for many reasons, like catching errors that might cost you significant amounts of money. As you're building the infrastructure for your app, we highly recommend first testing locally using the Firebase Local Emulator Suite.

The Local Emulator Suite allows you to run instances of Cloud Functions, Cloud Firestore, the Realtime Database and more all locally on your desktop machine. This not only makes it easier for you to quickly iterate on new functionality particularly Cloud Functions but it also ensures that you don't incur any Firebase costs that might result from testing against services in production.

As you're testing, check for these common causes of exceeding expected usage and spend:



View your usage and spending levels

You need to know what normal usage patterns look like for your app and make sure you're staying within thresholds important to you.

Most Firebase products provide product-specific documentation about usage, quotas, and pricing. They also often provide usage-to-billing examples for the product. Visit a product's section in the Firebase documentation to find this type of information.

For example, here's documentation to understand billing for Cloud Firestore.

View individual product usage

You can view individual product usage in the "Usage" tab for many products in the Firebase console.

View overall project usage

You can view your project's overall usage in the Settings > Usage and billing dashboard of the Firebase console.

Remember that each product has different usage quotas and thus different timelines, for example:



Set up budgets

Avoid surprises on your bill by creating budgets in Google Cloud Billing, and then specifically setting up budget alerts and budget spend caps.

The Firebase console automatically prompts you to set up a budget alert when you upgrade to the Blaze pricing plan.

Caution: Budgets and budget alerts do not cap your usage or charges. Also, there can be a delay between incurring costs and receiving a budget alert (depending on the service, up to a few days). Budgets and budget alerts are intended to help you monitor your spending and to alert you about your costs so that you can take action, if needed. For example, you might consider using budget notifications to programmatically disable Cloud Billing on a project.

If you use Firebase AI Logic, App Hosting, Cloud Functions for Firebase, or Firebase Extensions, we strongly recommend that you also set up budget spend caps, which will pause the applicable service if your project exceeds the budget set for that service.

By default, Firebase and Google Cloud don't turn off services and usage based on your budget and thresholds because although you might have a bug in your app causing an increase in charges, you might just be experiencing unexpected positive growth of your app. You don't want your app to shut down unexpectedly when you need it to work the most.

Note, though, that if you use a product that supports budget spend caps, then you can manually set up a spend cap based on your budget, and Cloud Billing will pause the applicable service if your project exceeds the budget set for that service.

All Firebase projects are actually Google Cloud projects behind the scenes, which means billing is shared across Firebase and Google Cloud and you can view the same project in both the Firebase console and the Google Cloud console.

Set up a budget and a basic budget alert

This section describes budgets and budget alerts at a high-level with a Firebase-context. For detailed information, make sure to check out Set budget alerts in the Google Cloud documentation.

Here's how to set up a budget and a basic budget alert:

  1. Make sure that you have the appropriate access. To set up a budget or a budget alert, you need to be an Owner of the associated Cloud Billing account.

  2. Navigate to the budget settings:

    1. Access your project in the Firebase console, then go to the Settings > Usage and billing > Details & settings page.

    2. In the Budgets & Alerts section, click Create first budget. This takes you to the Budgets & alerts page in the Cloud console.

      Note that if you already have a budget set up, you'll see it here instead of the "Create first budget" link.

  3. Complete the following steps to set up a budget and an emailed budget alert:

    1. Select an existing budget or create a new one.

    2. Give your budget a descriptive name.

    3. Set the scope for the budget alert, including the project(s) and service(s) that you want the budget alert to apply to. You probably want to select All services when getting started with budget alerts.

    4. Set the Amount > Budget type using one of these options:

      • A set amount of money use this type when you're first starting out or testing your app

      • An amount equal to what your project spent last month use this type when your app is growing steadily and you don't want to keep updating the budget amount every month

    5. Set up Percent of budget alerts.

      • For initial testing, try out several percentages, like 1%, 2%, 5%, and 50% of Actual.

      • For production apps, try out pivotal percentages, like 50% and 100% of Actual as well as 150% of Forecasted.

      Tip: Set a limited number of alert thresholds for your production apps. You want to be informed, but you don't want so many email notifications that you stop paying attention to them.
    6. Set up who should get emails.

      • By default, anyone with the appropriate billing permissions gets the notification email (by default, Billing Account Administrators and Billing Account Users on the associated Cloud Billing account).

      • You can also send emails to other people on your team. This requires creating a Cloud Monitoring Workspace and then adding an email-based notification channel to the Alerting section of the workspace. For more information about this setup, visit Set up advanced billing alerts and logic.

If you set up a notification for a low Percent of budget (like 1%), you should get an email within a couple hours or a couple of days telling you that your project has hit that threshold.

Set up a budget spend cap

Currently, budget spend caps are available for use with the following Firebase products:

Caution: Be aware of the following:

Learn more about managing spend caps in the Cloud Billing documentation.

Next steps

Firebase pricing plans
Advanced billing alerts & logic
Send feedback

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2026-08-19 UTC.

Need to tell us more? [[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2026-08-19 UTC."],[],[]]

Web Proxy Viewer  |  New URL  |  Original Page