Billing alerts not triggering when usage threshold is breached in consumption tracking

Our ThingWorx 9.6 platform tracks device usage for a consumption-based billing model. We’ve configured alert rules in the Alert Rules Engine to notify account managers when customers exceed 80% of their monthly usage quota, but the alerts simply aren’t firing.

The usage metrics themselves are being calculated correctly-I can see the consumption data in the analytics reports and the underlying Thing properties show the right values. The alert rule mapping appears correct in the configuration, pointing to the UsagePercentage property with a threshold condition of >= 80. However, when test accounts breach this threshold, no notifications are sent through any of our configured channels (email, SMS, or in-platform).

We’ve verified the notification channel setup is working by sending manual test alerts, which deliver successfully. This suggests the issue is specifically with the automatic alert triggering based on the usage metric threshold condition. Has anyone dealt with alert rules not activating despite threshold breaches in billing or usage tracking scenarios?

Check if your alert rule is actually enabled and active. In the Alert Rules configuration, there’s an ‘Enabled’ checkbox that’s easy to miss. Also verify the Priority and Severity settings-if they’re set too low, they might be filtered out by notification channel thresholds.

I ran into this same scenario with consumption tracking alerts last quarter. The root cause was the DataChangeType setting on the property combined with how the alert rule subscription was configured.

Another possibility: are you updating the UsagePercentage property through a service call or direct property update? If you’re using a service to calculate and set the value, you need to make sure that service fires a property change event. Some service implementations set property values without triggering the change event, which means subscribed alert rules never get notified. Try adding FireDataChangeEvent(true) in your service code after setting the property value.