With Synthetic Monitoring You use automated testing to verify whether a website is accessible from selected regions, loads content, and whether key processes function properly. Repeated checks reveal regional variations, provided that the browser, network conditions, and measurement period remain comparable. A single global performance test, on the other hand, is merely a snapshot. Public monitoring points also map specific network paths and do not replace data from real visitors.
What Synthetic Monitoring Shows
Synthetic Monitoring automatically and regularly performs predefined checks on a website. A Check It describes, among other things, the objective, the timeline, the measurement points, and the success criteria. Each execution at a measurement point produces its own result; therefore, the configuration is not the same as a single measurement.
A one-time global performance test, on the other hand, provides only a snapshot of the conditions during that particular run. Repeated Website monitoring shows whether a deviation recurs and how results change over time. For such comparisons to be meaningful, the target, measurement environment, and location must remain identifiable.
A public measurement point in a cloud data center tests the website from a specific region and infrastructure. However, its connection does not automatically correspond to a local private Internet connection. Routing, network latency, and the distance to the serving infrastructure can influence the result; therefore, a slow test initially reflects this specific measurement path.
A private rehearsal answers a different question: It can check whether an application is accessible from a private network. This is relevant for internal services, for example, but does not prove that they are accessible from the public Internet. Conversely, a successful public check does not indicate whether access works from every corporate network.
When planning, it is therefore helpful to formulate each test as a specific question: Is the product page accessible from an important target region, and does the expected content appear there? The answer applies to the selected measurement points and test conditions. It provides a reproducible indication, but is not a complete representation of all visitors and their devices.
HTTP, Browsers, and Journeys
A HTTP Check It queries an endpoint and evaluates, for example, the status code or the response. For a product page, it can quickly indicate that the server is not responding as expected. However, if it returns an HTTP 200, this only means that the response criterion being checked has been met; it remains unclear whether the interface is visible and usable.
A browser check loads the same product page in an automated browser. It can verify whether an expected heading appears and collect browser-specific metrics. If this check fails even though the HTTP status is successful, it’s worth investigating the rendering and page content. However, this discrepancy alone does not necessarily indicate a specific cause of the error.
A Journey Check goes beyond simply loading the page and performs defined steps. For example, during a login, it opens the login page, logs in using a suitable test account, and then checks for an expected element. Only this last criterion confirms that, for the tested process, the login page was not merely accessible.
Even a successful user journey only confirms the steps and conditions that were actually carried out. An untested password reset or a different browser could still cause problems. Therefore, select a few business-critical processes and define a verifiable outcome for each step, rather than assuming the entire service works just because a page loaded successfully.
A supplementary visual inspection can identify changes in the display that a single element check does not detect. For example, screenshots can be compared; any discrepancies must then be evaluated, because not every visible change is an error. Additional approaches are described in the article on Visual Verification and Automated Site Checks.
Distinguishing Between Different Types of Loading Times
„Unless otherwise specified, “load time” does not refer to a clearly comparable metric. When a page is loaded, the time until the first server response is the initial point of interest: it helps contextualize delays that occur before the response arrives. However, it does not yet indicate when the browser has displayed something visible or fully processed the page.
The first visible rendering describes a later phase: the browser displays content for the first time. This may already be a small amount of text or another early element, while the main page content is still missing. An early visual start is therefore not automatically synonymous with a product page that is quickly usable.
The Largest Contentful Paint (LCP) measures the time it takes for the largest relevant content element to become visible within the viewport. On a product page, this might be the large product image. Compare LCP only with LCP values labeled as such, and record the browser and network conditions; server response time is measured in a different phase.
The Script duration However, this is not automatically the load time of a single page. A script can load multiple pages, wait for elements, and perform a login. For Grafana k6 browser checks, the reported script duration typically does not include the startup phase of k6; such tool limitations must also be taken into account when interpreting the results.
Interaction to Next Paint, or INP for short, refers to the response to user interactions. A simulated scenario can only analyze the interactions it actually performs. An automated click under specified conditions therefore does not provide a distribution of the experiences of all real visitors who use different devices, connections, and navigation paths.
Measurement Plan for Target Regions
Start your monitoring plan with the pages and workflows whose failure would impact your business. These could include a product page, the sign-up process, and an interface. Next, select monitoring regions based on your target markets: An additional location is particularly helpful if it covers an important user region or complements an existing regional monitoring effort.
For a comparable check Record the browser and version, device display, network conditions, and cache status. Also document the interval and timeout, as well as the expected response or the visible element. This will allow you to determine later whether a deviation might coincide with a change in the testing environment.
The following table is a conceptual example, not a measured or generally recommended operational plan. You must adjust the intervals and alert conditions to suit the importance of your website and the capabilities of the service you've chosen.
| Page or Process | Region | Test Type | Success criterion | Interval | Responsibility and Alarms |
|---|---|---|---|---|---|
| Product Page | Europe | Browser | Headline Visible | 5 minutes | Web Team; Alert Following a Repeated Error |
| Product Page | North America | Browser | Headline Visible | 5 minutes | Web Team; Regional Alert Following Repeated Error |
| Registration | Europe | Journey | Element visible after login | 15 minutes | Application Team; Alarm After Repeated Error |
The table is just a starting point: Specify the exact time limit and the other measurement conditions in the check configuration. A regional alarm remains valid on its own, even if other locations report successfully. Keep in mind that a cloud measurement point does not automatically represent a private Internet connection in the same region.
Set Up Checks and Test Procedures
To create your own test page, you can start by setting up an HTTP check that verifies the expected status code. Add a browser check that loads the same page and checks for the expected header. The first check examines the endpoint’s response; the second also indicates whether the expected content appears in the browser.
For each run, record the measurement location, the time, the result, and the relevant duration. If the browser check fails even though the HTTP check was successful, examine the content and rendering instead of immediately assuming a specific error. Also check whether the headline has changed intentionally or whether the time limit was set too short.
To register, click on a Journey the browser request for user input and a validation check after login. Use a separate test account with as few privileges as possible and verify a stable, non-personal element within the logged-in area. Simply being able to access the login page does not confirm that the login process works.
Choose stable selectors and specifically wait for expected content, rather than relying solely on a fixed timeout. Store login credentials in the secret management system of the service you're using, not in the script or in logs. After making changes to the user interface, verify that selectors and success criteria still match the intended workflow.
Limit test runs to safe actions: A journey that is run regularly should not trigger actual orders or payments. If a write operation is unavoidable, it requires a test environment specifically designed for that purpose or a controlled test process. Also, specify who will investigate a failed run and manage the test data.
Compare Tools and Operating Models
When choosing a tool, you need to distinguish between a managed monitoring service and a tool that initially only runs a single test. It’s not just a matter of whether a browser is supported: You also need suitable locations, regular execution, result storage, and an alerting system that fits your operations.
Grafana Cloud Synthetic Monitoring Connects check configurations to public and private probes and supports k6-based browser checks. Public and private monitoring points address different availability issues. Be sure to check the available check frequencies in advance: Browser and script checks are subject to different limits than some simple endpoint checks.
The locally executed k6 browser module This must be handled separately. To do this, you'll need k6 and a Chromium-based browser; running a script locally does not automatically set up regional monitoring points or a permanent schedule. For distributed monitoring, you'd need to organize the execution, infrastructure, and results management separately, or use a suitable service.
AWS CloudWatch Synthetics runs scheduled canaries. The Multilocation Feature Replicates a Canary to selected AWS regions and consolidates results in a primary region. Before deployment, verify the documented minimum versions for the supported Node.js Puppeteer or Playwright runtimes, as well as the specific regional availability of this feature.
Self-operated probes give you more control over location and environment, but also require maintenance, updates, and monitoring of the measurement infrastructure. For all operating models, compare the actual locations offered, usage-based costs, and data retention terms. In particular, clarify where screenshots and logs are stored and whether this aligns with your data protection requirements.
Effectively Analyzing Regional Results
Compare regional results for the same page and the same time period. The browser, version, network conditions, and cache status should be consistent; otherwise, any difference may be due to the measurement environment rather than the delivery. Additionally, a cloud measurement point represents a specific location and network path, not all connections within a region.
For repeated successful measurements, the Median the median value of the sorted results. An upper percentile—such as the 95th percentile—highlights slower runs: 95 percent of the values considered are at or below this value. Be sure to note the time period and the number of measurements so that the scope of the analysis remains clear.
With only a few runs, a single slow request can significantly affect the top percentile. Therefore, examine the trend over time and compare multiple measurement windows before concluding that there is a sustained regional decline. A change in the measurement point or browser version should also be considered as a possible factor affecting the analysis.
Hold failed runs displayed separately, for example, as the number of errors and the percentage of all requests. Otherwise, loading time statistics that include only successful requests might falsely make a region with frequent timeouts appear to be performing well. In the event of a failure without a valid loading time value, it is not possible to simply substitute a normal loading time.
Real User Monitoring supplements controlled testing with data from actual visitors. The Chrome UX Report provides available field data over a rolling 28-day window; not every page or user group is covered. This longer-term view therefore neither replaces a current synthetic alert nor can it be directly equated with a single test run.
Alarms and Regional Troubleshooting
A global alarm It can aggregate recurring errors across multiple locations. This helps distinguish a broader incident from an isolated malfunction at a single measurement point. At the same time, define a regional alert condition: If a key target market fails, the success of other regions should not mask the problem.
Select the number of repetitions and the time window based on the importance of the process. Several consecutive failed tests can mask short-term outliers but delay the notification. Also monitor the measurement points themselves and investigate whether a sample has failed or whether other tests at the same location are also affected.
If a product page is slow at only one location, start by comparing similar runs and noting when the discrepancy occurred. Next, examine DNS resolution, CDN delivery, resource load times, and server response. Different network paths and proximity to the infrastructure can influence regional baseline levels; the measurement alone does not identify the cause.
For resources from other Origins, browser measurement details may be limited. Without a matching Timing-Allow-Origin-Headers may contain individual values from the Resource Timing API that are zero. This does not automatically mean that the connection was extremely fast; first check what information the remote server is providing for the measurement.
For the next level of investigation, you correlate the time, region, and affected process with available logs and traces. This allows you, for example, to search for a slow request without jumping to conclusions about the cause based on a correlation alone. The article on explains how metrics, logs, and traces work together Observability in Hosting.
Conduct Monitoring on an Ongoing Basis
Start with simple endpoint checks for key publicly accessible targets and supplement them with targeted browser journeys for business-critical pages or logins. An HTTP check can run more frequently, while the more complex browser test verifies selected functions. You should set the intervals based on your desired detection time, service thresholds, and costs—not on a flat rate per minute.
For each check, determine a Jurisdiction: Who receives the alert, who checks the affected service, and who manages the monitoring point? Also note when an alert is forwarded and where the related results can be found. A check that does not respond to recurring errors may provide data, but it does not resolve the incident.
After making changes to the user interface, check whether the selectors and expected content still match the flow. Wait for the required element in the script instead of relying solely on a fixed delay. Document any changes to the browser, network profile, or cache settings so that later comparisons do not inadvertently mix different testing conditions.
Treat screenshots and logs as potentially sensitive data: They may contain session content or information from the application. Limit access and retention in accordance with the purpose, and verify what the test is actually recording. For logins, use a restricted test account and manage credentials as secrets rather than in the script.
Check regularly to see if Measurement Locations whether they still align with your target markets and whether pricing, data storage, and data protection requirements continue to allow for operation. For self-hosted Probes, updating and monitoring the environment are additional considerations. A k6 browser script launched locally does not, on its own, provide a permanently distributed monitoring infrastructure.
Sources and Current State of Knowledge
Status of the research:
Research status: November 13, 2026. Please double-check measurement locations, runtime requirements, pricing, and privacy policies before publication.
https://grafana.com/docs/grafana-cloud/observe-and-act/testing/synthetic-monitoring/?pg=full-stack-observability-with-knowledge-graph&plcmt=in-text
https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_MultiLocation.html
https://grafana.com/docs/grafana-cloud/observe-and-act/testing/synthetic-monitoring/create-checks/checks/?pg=manage-synthetic-checks-at-scale-introducing-folders-in-grafana-cloud-synthetic-monitoring&plcmt=in-text
https://grafana.com/docs/grafana-cloud/observe-and-act/testing/synthetic-monitoring/create-checks/checks/k6-browser/?cnt=description&mdm=social&src=yt
https://grafana.com/docs/grafana-cloud/observe-and-act/testing/synthetic-monitoring/create-checks/
https://grafana.com/docs/k6/latest/using-k6-browser/
https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html
https://developer.chrome.com/docs/crux/api?authuser=106
https://developer.mozilla.org/en-US/docs/Web/API/PerformanceResourceTiming




