PubNub does not charge per message with the our transaction billing model, so we need to explain this in terms of the number of transactions, not messages. The term message may still be referenced within this context.

If one (1) message is published to 100 active subscribers (all subscribers receive the message), it is counted as one (1) publish transaction (a replicated transaction) and 100 subscribe transactions (an edge transaction).

Other APIs that increment the message count are:

  • history - one edge transaction (no matter how many messages are returned)
  • missed message catchup - one edge transaction (no matter how many messages are fetched)
  • presence - one replicated transaction per join, leave, timeout, state-change (published by the PubNub Network on behalf of the client) and a separate edge transaction for every client that receives each of those presence events (for clients that are listening to presence events on the channel). This is really the same as the publish/subscribe replicated/edge scenario.
  • mobile push notification - an edge transaction is counted for every push request sent to FCM and APNS for each mobile device that was registered to receive a push notification on that channel.
  • web hook events - each web hook is counted as an edge transaction.

Learn more about Transaction Classification.