Developer Guide

Billing Groups

AWS IoT doesn't allow you to directly apply tags to individual things, but it does allow you to place things in billing groups and to apply tags to these. For AWS IoT, allocation of cost and usage data based on tags is limited to billing groups.

The following commands are available:

Viewing Cost Allocation and Usage Data

You can use billing group tags to categorize and track your costs. When you apply tags to billing groups (and so to the things they include), AWS generates a cost allocation report as a comma-separated value (CSV) file with your usage and costs aggregated by your tags. You can apply tags that represent business categories (such as cost centers, application names, or owners) to organize your costs across multiple services. For more information about using tags for cost allocation, see Use Cost Allocation Tags in the AWS Billing and Cost Management User Guide.


To accurately associate usage and cost data with those things you have placed in billing groups, each device or application must:

The following pricing dimensions are available for billing groups (based on the activity of things associated with the billing group):

  • Connectivity (based on the thing name used as the client ID to connect)

  • Messaging (based on messages inbound from, and outbound to, a thing; MQTT only)

  • Shadow operations (based on the thing whose message triggered a shadow update)

  • Rules triggered (based on the thing whose inbound message triggered the rule; does not apply to those rules triggered by MQTT lifecycle events)

  • Thing index updates (based on the thing that was added to the index)

  • Remote actions (based on the thing updated)

  • Detect reports (based on the thing whose activity is reported)

Cost and usage data based on tags (and reported for a billing group) doesn't reflect the following activities:


  • A thing can belong to exactly one billing group.

  • Unlike thing groups, billing groups cannot be organized into hierarchies.

  • In order for its usage to be registered for tagging or billing purposes, a device must:

    • Be registered as a thing in AWS IoT.

    • Communicate with AWS IoT using MQTT only.

    • Authenticate with AWS IoT using only its thing name as the clientID.

    • Use only an X.509 certificate or Amazon Cognito Identity to authenticate.

    Additional information can be found in Managing Devices with AWS IoT , Security and Identity for AWS IoT , and Device Provisioning. The API command AttachThingPrincipal, can be used to attach a certificate or other credential to a thing.

  • The maximum number of billing groups per account is 20,000.