Cloud Pub/Sub is priced according to the data volume used in a calendar month. Data volume is computed from message and attribute data for pull, streaming pull, push, and publish operations.
|Monthly data volume||Price Per TB|
Prices are listed per TB (240 bytes, or approximately 1.01 trillion bytes).
Minimum billable volume
The minimum billable volume of data per request (not message) is 1 KB of data. For example, 100
publish requests, each containing one 500-byte message, have an actual data
volume of 50 KB but a billable data volume of
1 KB/request x 100 requests = 100 KB.
However, if all 100 messages are published in a single Publish request, the billable data volume is
equal to the actual one (50 KB).
Message ingestion example
To illustrate the overall costs of operation you might expect, consider an application that
publishes 1024 KB messages to a topic with two subscriptions, at a rate of 1 MiB/second.
Assuming that the subscribers are keeping up, Cloud Pub/Sub is ingesting 1 MiB/second and
delivering 2 MiB/second, for a total data transmission rate of 3 MiB/second. Over the course of
a 30-day month, this amounts to
(3 MiB/second x 3600 seconds/hour x 24 hours/day x 30 days)/(2^20 MiB/TB) = 7.416 TB.
After subtracting the free tier (10 GB), the data volume is 7.415 TB in the $60/TB tier, so the
charge is $444.90.
If you are using Cloud Pub/Sub across projects, Cloud Pub/Sub fees are billed to the project that contains the requested resource (e.g., subscription). For example, a service account in project A might be given subscriber access to a subscription in Project B (that is under billing account B). Billing account B will be billed for the data that is pulled from the subscription by service account A. Alternatively, if the subscription resides in project A (even if it is attached to a topic in project B), account A will be billed for data that is pulled from the subscription.