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 on 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. Go to the admin console Billing Status page and click Manage Billing Administrators.

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 from the admin console Billing Settings page. Go to the Billing Profile page to change account contact information.

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 Admin Console's 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 Quota Details page in the Admin Console.

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

How can I track or verify my quota usage?

Sign in to the Admin Console and select the application you wish you inspect. Quota usage is located within 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 shown in the Administration Console?

There is a line on the Instances graph in the Admin Console 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 set in the Performance Settings tab of the Admin Console (after taking into account the free quota and any prepaid instance hours). The dashboard in your Admin Console 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, click on the Cron Jobs link under Main in the left navigation of your App Engine admin console.

Further to Cron Jobs, enabling Datastore Admin results in additional instance hours without incoming requests as well. 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. MapReduce jobs cause frontend instance hours to increase on top of Storage operations and Storage usage. To keep an eye on your resource usage, click on the Dashboard link under Main in the left navigation of your App Engine admin console. On the top of the page select ah-builtin-python-bundle from the Version drop down menu. You only see this option if Datastore Admin is active. These operations always run using Python, regardless of the choice of programming language for your application.

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 Datastore Statistics tab of the Admin Console.

Why hasn't my payment shown up yet?

It may take a few days for your payment to register in the Transaction History page of the admin console.

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 App Engine Admin 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 App Engine Admin 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:

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.