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

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:

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:

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:

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:

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: