App Engine

Google App Engine Billing FAQ

Getting started


Managing quotas

Instance pricing

Making payments



Getting started

How do I purchase additional quota for resources?

If your app is a paid app, you set a single daily budget for resource usage. When your app exceeds the free quotas, it continues to serve traffic until the daily budget is exhausted. You'll be billed for the extra usage. Raising the budget allows you to use more of all billable resources. To change the budget go to the Billing Status page and click Change Budget.

Why isn't my country listed in the drop-down list on the Profile page when setting up a paid app?

If your country isn't listed in this drop-down list, monthly billing is not available and your app cannot become a paid app.

If I have enabled billing for one of my applications already, why do I have to do it again for my other apps?

We want to provide developers with fine-grained control over each of their applications. They may wish to have a separate budget for different apps, or apps that run entirely on free quota, rather than a single budget for each.

Am I able to use a Google Account to manage a Google Apps-hosted app?

Yes, any account can manage any application. You can sign into Google App Engine with your Google Apps account by visiting https://appengine.google.com/a/[yourdomain.com].

To learn more about the difference between Google Accounts and Google Apps Accounts, see Google Accounts Help.

What is a VAT ID and why is it optional?

Value Added Tax (VAT) charges are applied to European Union businesses in addition to the cost of the service. For more information, see the note about VAT Overview in the Google Apps help center. European Union businesses will be charged VAT by Google unless the billing administrator enters a valid VAT number during the initial paid app setup process. If you do not enter the VAT number at this time, you can enter it later in the Billing Profile page.


Why don't I get a monthly invoice?

Your daily, weekly, and monthly charges appear in the Transaction History page of the billing logs. No paper invoices are sent to the billing contact.

How do I switch billing administrators?

An application can have multiple billing administrators. Every billing administrator must also be an application administrator. Use the Google Developers Console to manage billing.

How do I update my credit card number or other billing information?

Only billing administrators can change billing information. Administrators can add or change credit card information using the Google Developers Console.

Do I have to re-enable billing after updating my billing information?

No. Once you update your credit card number, billing address, or other billing information, App Engine will automatically use this new information for your next statement. If you have more than one payment source listed, you should make sure that you've selected the correct account as the primary account, and do the same for the backup account, if one is selected.

What happens if I change my maximum daily budget in the middle of the day?

Your application's maximum daily budget is set to the highest budget that you specified during the course of the day (before midnight PST). For example, if you enter $4.00 in the Max Daily Budget field and then adjust it to $2.00 later in the day, you may still be billed up to $4.00 for that day.

Managing quotas

How much free quota does each App Engine app receive?

Several different resources have free quotas. See the Billing page for more information. The Developers Console Quotas page lists every quota and provides a breakdown of how much your application is consuming per resource.

What happens to my free quota once I've switched to a paid app?

The free quota levels remain the same once billing is enabled. An app won't be charged for usage until it exceeds a free quota, at which point the billing administrator will be charged based on any such usage up to the maximum daily budget.

For more information on how enabling billing adjusts the free quotas, see Quotas.

Are billable resources rate-limited?

Billable resources are limited by your overall budget and may also correspond to safety quotas. You can check the status of each from the Developers Console Quotas page.

For more info on per-minute limits, see Quotas.

How can I track or verify my quota usage?

Sign in to the Google Developers Console and select your application. Quota usage is located on the Quota Details page. Additional usage information may be found on the app's "Usage History" page, linked from the left-hand navigation.

Do my datastore indexes consume my quota?

Yes, datastore indexes do count against an application's storage quota. There are three general index types: kind for querying entities by type, property for querying entities by a single property value, and custom for complex queries using multiple sort orders or a combination of equality and inequality filters. For a detailed breakdown of these three types and the data stored for each, see How Entities and Indexes are Stored. Indexes also consume more of your datastore operations limit. For more information, see the Datastore Resource Limits.

What if I anticipate even more traffic than allowed by the per-minute quotas?

You can make your app a paid app, or sign up for a higher level of support. See Safety Limits and Billable Limits for more information.

How will I be charged for partial units?

Your actual usage of any resource on a given day will be rounded down to the nearest base unit and then rounded up to the nearest cent. The base units for the adjustable quotas are:

  • Instance hours: 1 instance hour. See Instance Billing for more details.
  • Bandwidth in/out: 1 byte
  • Storage: 1 byte
  • Email: 1 email

For example, if your app transfers 21,582,210,662 bytes over and above the amount allowed by the free quota, this is equivalent to $2.412 (at $0.12 per GB transferred out). The charge for that day would then be $2.42 for this resource.

Are logs counted as part of "Storage Quota"?

The first gigabyte of logs storage is free and additional storage will be charged at the rate for Stored Data in the Datastore.

Instance Pricing

What is the difference between dynamic instances and resident instances?

Dynamic and resident (or idle) instances both serve incoming requests. When dynamic instances finish serving a request, they may be taken down by App Engine's scheduler. However, resident instances remain available, even if they aren't serving traffic.

Should I assume that I will be charged for the number of instances currently being shown in the Developers Console?

There is a line on the Instances graph on the Developers Console Instances page showing the approximate number of instances for which you are being billed.

What is the time granularity of the instance pricing? For example, if I have an instance up for 5 minutes, what am I charged, $0.08 / 60*5?

Instances are charged for their uptime in addition to a 15-minute startup fee. The startup fee covers what it takes for App Engine to bring up and down the instance. If you have a dynamic instance only serving traffic for 5 minutes, you will pay for 5+15 minutes. Additionally, if the instance stops and then starts again within a 15 minute window, the startup fee will only be charged once and the instance will be considered "up" for the time that passed. For example, if a dynamic instance is serving traffic for 5 min, is then down for 4 minutes and then serving traffic for 3 more minutes, you will pay for (5+4+3)+15 minutes.

Will my bills be higher if I have a lot of idle instances?

App Engine may keep idle instances running in order to provide your app with lower latency on load spikes. You will be billed only for idle instances up to the number of maximum idle instances specified in your module's configuration file (after taking into account the free quota and any prepaid instance hours). The Developers Console App Engine dashboard page shows a graph with the number of total, active and billed instances.

Why do instance hours increase when I change the frontend instance class?

When you change from an F1 to an F4 frontend instance you are getting four times the CPU and memory limits at four times the cost. Your bills continue to show an appropriate multiple of F1 instance hours. Note that your app may not use this extra capacity fully, leading to an increase in billable instance hours.

Why do instance hours increase without additional incoming requests?

Operations can be triggered by scheduling (see Scheduled Tasks With Cron for Python, Java, Java using YAML and Go), not only by incoming requests. To check your currently configured Cron Jobs, visit the Developers Console task queues page

In addition to Cron Jobs, performing Datastore Admin operations from the Developers Console also results in additional instance hours without incoming requests. Backup, restore, copy, and delete operations are executed within your application, and thus count against your quota. This usage increase is triggered without additional incoming requests.

Very frequent backups often lead to higher costs. Datastore Admin jobs kick off a series of MapReduce jobs which consume instance hours and increase storage operations and storage usage. Datastore Admin operations always run in Python, regardless of the choice of programming language for your application. To keep an eye on your resource usage, use the Developers Console App Engine dashboard page. Use the pulldown menus at the top of the page to select the `default` module and the `ah-builtin-python-bundle` version.

Making payments

How are currency conversions handled?

Google bills your credit card in US dollars. Currency conversion is handled by your card issuer.

Why am I being charged for storing more data than I've actually uploaded?

The process by which quota consumption is measured is outlined in the documentation page on quotas. As outlined on that page, quota cost may include metadata overhead. You can review your data storage statistics in the Developers Console Datastore dashboard page.

Why hasn't my payment shown up yet?

It may take a few days for your payment to appear in the history tab on the Developers Console project billing settings page.

What happens if a credit card charge fails?

You have up to 30 days after a payment is due to pay your outstanding balance. You will continue to accumulate billing charges and receive the billing enabled quotas during this 30 day period. If payment has not been received after 30 days, your quotas may be reverted to the default levels. While quotas have not been reverted to default levels, the application will continue to be charged for all usage above and beyond the free tier provided. If payment has not been received after 90 days, we reserve the right to stop serving traffic to your site until any outstanding balance is paid off (as noted in the App Engine Terms of Service).

If a credit card charge fails the app's billing status will change to Grace Period. You will also see a "Charge Failed" entry in Billing History.

To clear the outstanding charges you can go to the Transaction History page where you can click Make a Payment. You may need to go to the Billing Settings page first, where you can add another payment source or correct a problem with an existing account, such as an expired card. If payment succeeds, the billing status will change to Billing Enabled

Are there any payment options other than credit or debit card?

You can also specify direct debit from a bank account on the Billing Settings page.

What can I do if my credit card payment was declined?

Try contacting your card issuer. Your card may have expired, for instance. It is also recommended that you include a second payment source in the billings settings and designate it as a backup in case your primary source fails.


How do I disable billing for my application?

Any billing administrator can disable billing. For instructions on how to do this, see the documentation on disabling billing.

What happens to my balance once I disable billing?

When you disable billing, you will be billed for the current month's outstanding charges at the start of the next month.

What happens to my data when I disable billing?

If your app has more data stored than allowed by the free quotas, your application may lose access to that data when you disable billing. Charges for that stored data will continue to accrue until the balance is paid in full.

Why am I still billed after disabling my application?

If you disable your app, you will continue to be billed until you disable billing.

Why do I get a message saying that I have to disable an app?

There is a quota of up to ten free apps per account. You cannot disable billing for an app if any owner already has ten free apps. The error page that you get will let you know which accounts have hit the limit on free apps. You can resolve through one of the following actions:

  • Make the limiting owner a developer (or remove them from the app).
  • Disable the app before disabling billing (from Application Settings).
  • Ask the limiting owner to disable or delete one of their other free apps.

How can I disable billing if I am not a billing administrator?

You can't. Only billing administrators can disable billing.


Why do I get the message "You are not authorized to access this page"?

This can happen when you are logged into your browser on multiple accounts. You must be sure to access the Google Developers Console from the account that's linked to your application. One way to do this is to open a Chrome incognito window or a Firefox private browsing window first, then navigate to the console and log in.

Can I get a billing credit?

Google will provide a billing credit if we fail to meet the terms of the Service Level Agreement. The SLA only covers the services listed under SLA error rates. You can contact support to request a credit.

Google will not typically provide billing credits for other situations, including the following:

  • Failure of a service that is outside the SLA.

    The Service Level Agreement only covers the services listed under SLA error rates. It does not cover other Service APIs.

  • Increased latency from calls to the Datastore.

    In rare cases, there can be an increase in latency for calls to the Datastore. This may lead to higher bills, if your app is waiting longer than normal for the call to return. You are responsible for designing your code to mitigate the effects of possible latency. For example, you can switch to a concurrent process when blocked.

  • Unexplained spikes in bills.

    There are many ways that your code can cause unexpected spikes in bills. To determine whether you are eligible for a billing credit, Google will count the number of errors returned by the services listed under SLA error rates. You are responsible for maintaining sufficient logs for sufficient time to be able to debug other problems yourself.

  • Advice from Google.

    Google may provide advice to customers through documentation or responses to forum postings on Google Groups or StackOverflow. Silver, Gold or Platinum support customers may also get advice from its operational support team. We will make a best effort to warn you when this advice may lead to an increase in bills, but you are responsible for doing appropriate tests before implementing this advice in your production serving environment. Google will not provide billing credits if our advice causes an increase in your bill.

  • Testing.

    Google recommends that you perform appropriate testing, including load testing. You are responsible for paying for the resources needed to run sufficient tests to verify that your code will work as expected when serving in production.

Why did I get an App Engine overcharge credit in my transaction history?

Sometimes App Engine will let your app consume a little more resources than your daily budget allows, and charge for them. If that happens we will credit back the over-budget difference. For example, your app's daily budget is $1.00 per day. On a particular day, your app might use and be billed for $1.05 worth of usage. In that case, you would see line items with debits adding up to $1.05, but an App Engine Overcharge Credit of $0.05 will bring your overall balance back to just $1.00.

What information do I need to provide in order to qualify for a credit under the terms of the SLA?

The evidence supplied to justify a credit under the terms of the SLA is specific to each case and up to you. Customers are responsible for keeping logs to justify their claim. At a minimum, you should provide the following information:

  • Exact time when the problem started and when it ended.
  • What percentage of requests or Datastore operations got errors during this period.
  • Details of the error along with relevant logs from the Developers Console.
For the purposes of the SLA, serving infrastructure error rates are calculated as a percentage of total requests, including dynamic requests, static files (whether cached or not) and task queues. DataStore error rates are calculated as a percentage of total DataStore operations.

What are my options if my application experienced a Denial of Service (DoS) attack?

If you believe your application has been the target of a denial of service attack, please contact our support team and include a snippet of your request logs that corroborates this, along with an explanation of why this activity indicates an attack. You may be issued a credit for the service for this period of time.

To access your logs, you can use our log export tool. Note that only the most recent 90 days of requests logs will be available for download, so it's important to file your grievance soon after the incident. Please refer to the App Engine SLA for more information.

Do you offer discounts to non-profits, educational organizations or open source projects?

App Engine currently does not offer discounts to non-profits, educational organizations or open source projects.

I have a question related to billing that isn't addressed here. Where can I get an answer?

If you have a billing issue or question that isn't explicitly answered in the FAQ entries above, please contact support and a Google representative will respond to you shortly. Customers that have enabled billing can get direct help from Google on billing issues. Operational support is only available to Silver, Gold or Platinum support customers.