Custom labels in Grafana Cloud Synthetic Monitoring: New updates for consistency and ease-of-use
Labels are a powerful way to organize telemetry and define policies across Grafana Cloud, helping to streamline alerting, attribution, access control, and more. But traditionally, custom labels in Synthetic Monitoring have worked a little differently: they only lived on a single sm_check_info metric, and Grafana Cloud prefixed each one with label_.
To make custom labels in Synthetic Monitoring work consistently with the rest of Grafana Cloud—without extra joins, naming conventions, or workarounds—we're rolling out an update that lets your custom labels attach directly to every check metric, not just sm_check_info, and removes the label_ prefix. Starting today, labels appear exactly as you write them, making Synthetic Monitoring data easier to navigate and use with label-based policies across Grafana Cloud.
If you currently use custom labels in Synthetic Monitoring, read on to learn how to migrate to the new labels. We are asking users to migrate by March 1, 2027 to ensure their custom dashboards, SLOs, alerts, and queries that reference Synthetic Monitoring metrics do not break, and continue to work as expected.
If you do not use custom labels in Synthetic Monitoring, you don’t need to do anything to prepare for this update.
How custom labels work in Synthetic Monitoring
Until now, if you wanted to filter a dashboard, scope an alert, or attribute cost by team or service within Synthetic Monitoring, you had to join sm_check_info against the check metric you actually want to query. You also had to remember that team is really label_team in this context.
That approach worked to ensure your custom labels were never at odds with system-defined labels. However, it broke down as usage scaled up and dozens of teams started running hundreds of checks across services, environments, and regions.
Teams rely on consistent schemas to direct label-based workflows, and this update brings Synthetic Monitoring further into the fold of your existing policies.
With the update, labels in Synthetic Monitoring now work consistently with labels across the rest of Grafana Cloud. Your custom labels will now attach directly to every check metric and log, not just sm_check_info, and the label_ prefix is being removed. Labels will appear exactly as you defined them, eliminating the "join tax" that previously required joining metadata against metrics just to filter a dashboard or scope an alert.
For example, this removes the friction of maintaining additional PromQL expressions or separate notification trees specifically for Synthetic Monitoring. Now, a single alert rule can route notifications to the correct team based on the labels on the metric itself, and the Cost Management and Billing app can attribute usage by your own dimensions, such as team, environment, or service, without any additional steps.
For teams adopting Synthetic Monitoring for the first time, this also means there's no separate label convention to learn or work around; custom labels behave the same way in Synthetic Monitoring as they do across other solutions in Grafana Cloud. This makes it easier to build full-stack observability workflows from day one, using a single, consistent label schema across every signal type, rather than managing exceptions for your synthetics data.
The migration process: what you need to do
There is a three-stage migration process for users to move from the prefixed label state to the end state where custom labels appear directly on check metrics. While you control the pace of each stage, we strongly encourage you to complete the migration by March 1, 2027. Support for the legacy prefixed behavior will be sunsetted after that point.
Any stack not migrated by March 1, 2027 will be auto-migrated by Grafana Labs. However, migrating on your own timeline, while you have full control over the process, is strongly recommended to ensure your custom dashboards, SLOs, alerts, and queries that reference Synthetic Monitoring metrics do not break, and continue to work as expected.
Here's a closer look at each stage of the migration:
- Prefixed: Your Synthetic Monitoring labels live only on
sm_check_info, with thelabel_prefix. - Dual-write: Both your prefixed and un-prefixed, per-metric labels are written simultaneously. Your existing dashboards, alerts, and cost reports keep working on the old names while you migrate references to the new ones.
- Un-prefixed: You retire the prefixed labels; only the direct, un-prefixed labels remain.
The migration window is open now. To start your migration, check all custom labels against Synthetic Monitoring's reserved label list—the system will reject your migration if any labels collide with reserved values. Then follow the steps in our migration guide. Note: admin access is required to perform the migration steps.
This migration does not increase cardinality or cost. The period where both prefixed and un-prefixed series exist side by side during dual-write is absorbed by 95th-percentile billing, not billed as additional active series. And no historical data is lost—anything you've already collected stays queryable for your retention window under its original label names throughout and after the migration.
How to learn more
Please read the Synthetic Monitoring label migration guide for the full reserved-label list and the dual-write checklist, and then start dual-write as soon as possible. For further guidance, please reach out to the Grafana Labs support team.
For general background on how labels work across Synthetic Monitoring, see our Synthetic Monitoring documentation.
%3Aquality(100)%2F&w=3840&q=75)