Pricing

This page provides Cloud IoT Core pricing details. You can also use the Google Cloud Platform Pricing Calculator to estimate the cost of using Cloud IoT Core.

Go to the pricing calculator

If you pay in a currency other than USD, the prices listed in your currency on Cloud Platform SKUs apply.

Overview

Cloud IoT Core is priced according to the data volume used in a calendar month:

Monthly data volume Price per MB Registered devices Minimum charge*
Up to 250 MB $0.00 Unlimited, within QPS maximums 1024 bytes
250 MB to 250 GB $0.0045 Unlimited, within QPS maximums 1024 bytes
250 GB to 5 TB $0.0020 Unlimited, within QPS maximums 1024 bytes
5 TB and above $0.00045 Unlimited, within QPS maximums 1024 bytes

Data volume is based on data exchanged by devices that are connected to Cloud IoT Core. There is no charge for create, read, update, and delete operations through the device manager.

If you use Cloud IoT Core with Cloud Pub/Sub, then you will also be billed separately for consuming Cloud Pub/Sub resources.

*The minimum charge is for a 1024-byte message:

  • For messages that are smaller than 1024 bytes, a charge for 1024 bytes will be applied. For example, if a device sends 25 bytes in an MQTT message, the charge for that message will be 1024 bytes × price/MB for the applicable monthly data volume tier.
  • For messages that are larger than 1024 bytes, the charge will be message_size × price/MB for the applicable monthly data volume tier.

Billable messages

MQTT

  • CONNECT
  • PUBLISH (both cloud- and device-bound)
  • PUBACK (ack of device configuration, cloud-bound)
  • SUBSCRIBE
  • PINGREQ

HTTP

  • Requests: total bytes in the body
  • Responses: total bytes in the body

Nonbillable messages

MQTT

  • CONNACK
  • PUBACK (publish telemetry or state, from cloud to device)
  • SUBACK
  • PINGRESP
  • DISCONNECT
  • UNSUBSCRIBE
  • UNSUBACK

Compressed HTTP requests

As noted in Using the HTTP Bridge, a device can send gzip-compressed data to Cloud IoT Core over the HTTP bridge.

Billing for telemetry event payloads and device state payloads is calculated using the uncompressed size of each request.

For example, if a telemetry event payload was 256 KB before compression, and the compressed payload is 10 KB, you will be charged for the uncompressed 256 KB data, not the compressed size.

Pricing examples

MQTT bridge examples

The following examples apply specifically to devices using the MQTT bridge.

PINGREQ messages only example

Say that you have 10,000 devices, each of which is connected to Cloud IoT Core over an MQTT connection. Even if the devices don't send any telemetry events or state data over a one month period, they will still send PINGREQ messages to Cloud IoT Core in order to keep the MQTT connection alive. The frequency of the PINGREQs depends on the keep-alive value for each connection. Even though a PINGREQ may be only a few bytes, any messages smaller than 1024 bytes are still charged as if they were 1024 bytes, because 1024 bytes is the minimum data size used for billing.

If you set the keep-alive value for your devices to 15 minutes, then each device would send a PINGREQ at least every 15 minutes. The total data volume for just the PINGREQ messages would be 27.47 GB, calculated as follows:

10,000 devices * 96 PINGREQs/device per day * 30 days * 1024 bytes = 27.47 GB

Taking into account the free data volume up to 250 MB, and the fact that the price per MB is $0.0045 in the 250 MB to 250 GB range, the pricing per month would use the following formula:

(27.47 GB - 250 MB) * $0.0045 = $125.46

HTTP bridge examples

The following examples apply specifically to devices using the HTTP bridge.

Basic pricing example

Say that you have 10,000 devices connected to Cloud IoT Core. Each device sends one HTTP request every 30 minutes, and each request is 1024 bytes in size. Each HTTP request results in a response, and even though a response may be only a few bytes, the minimum billing size of 1024 bytes applies. The total data volume in a month would be 27.46 GB, calculated as follows:

Requests:

10,000 devices * 48 messages/device per day * 30 days * 1024 bytes = 13.73 GB

Responses:

10,000 devices * 48 messages/device per day * 30 days * 1024 bytes = 13.73 GB

Total data volume:

13.73 GB (Requests) + 13.73 GB (Responses) = 27.46 GB

Taking into account the free data volume up to 250 MB, and the fact that the price per MB is $0.0045 in the 250 MB to 250 GB range, the pricing per month would use the following formula:

(27.46 GB - 250 MB) * $0.0045 = $125.41

Monthly pricing example for small messages

Say that you have 50,000 devices connected to Cloud IoT Core. Each device sends one HTTP request every 30 minutes, and each request is 5 bytes in size. Any messages smaller than 1024 bytes are still charged as if they were 1024 bytes, because 1024 bytes is the minimum data size used for billing. Each HTTP request results in a response, and even though a response may be only a few bytes, the same minimum size of 1024 bytes applies. The total data volume in a month would be 137.32 GB, calculated as follows:

Requests:

50,000 devices * 48 messages/device per day * 30 days * 1024 bytes = 68.66 GB

Responses:

50,000 devices * 48 messages/device per day * 30 days * 1024 bytes = 68.66 GB

Total data volume:

68.66 GB(Requests) + 68.66 GB (Responses) = 137.32 GB

Taking into account the free data volume up to 250 MB, and the fact that the price per MB changes to $0.0045 in the 250 MB to 250 GB range, the pricing pe month would use the following formula:

(137.32 GB - 250 MB) * $0.0045 = $631.65

Monthly pricing example for large messages

Consider a case where you have 50,000 devices connected to Cloud IoT Core. Each device sends one HTTP request every minute, and each message is 8192 bytes in size. Each request results in a response, and even though a response may be only a few bytes, any messages smaller than 1024 bytes are still charged as if they were 1024 bytes, because 1024 bytes is the minimum size used for billing. The total data volume in a month would be about 18.1 TB, calculated as follows:

Requests:

50,000 devices * 1,440 messages/device per day * 30 days * 8192 bytes = 16.1 TB

Responses:

50,000 devices * 1,440 messages/device per day * 30 days * 1024 bytes = 2 TB

Total data volume:

16.1 TB (Requests) + 2 TB (Responses) = 18.1 TB

Taking into account the free data volume up to 250 MB, and the fact that the price per MB changes from $0.0045 in the 250 MB to 250 GB range to $0.002 in the 250 GB to 5 TB range, and then to $0.00045 for anything above 5 TB, the pricing per month would use the following formula:

(250 GB - 250 MB) * $0.0045 + (5 TB - 250 GB) * $0.002 + 13.1 TB * 0.00045 = $17,305.99

Was this page helpful? Let us know how we did:

Send feedback about...

Google Cloud Internet of Things Core