Datadog Synthetic Tests vs Synthetic Test Suites: Complete Tutorial Guide

1. Simple Meaning

In Datadog, Synthetic Tests are the actual checks that run against your application.

A Synthetic Test Suite is a logical group of multiple Synthetic Tests.

Think of it like this:

ConceptSimple Meaning
Synthetic TestOne actual test/check
Synthetic Test SuiteA folder/group containing many tests
SLOReliability target based on uptime/availability
Dashboard SLO WidgetVisual display of an existing SLO

Example:

You may have these individual Synthetic Tests:

Synthetic TestPurpose
Login API uptime testChecks login endpoint
Homepage browser testChecks website loads
Checkout browser testChecks checkout flow
Payment API testChecks payment endpoint
gRPC health checkChecks gRPC service health

Then you can create a Test Suite called:

Production Critical User Journey

And add all those tests inside it.

The suite does not replace the tests. It only groups them and gives you a combined operational view.


2. What is a Datadog Synthetic Test?

A Synthetic Test is an automated test run by Datadog to check whether your application, endpoint, website, API, or user journey is working.

It can run from:

Location TypeMeaning
Datadog managed locationPublic Datadog location around the world
Private locationYour internal network, VPC, Kubernetes, or private environment

Synthetic Tests are useful because they test the system from the outside, like a real user or client.

Example:

Every 5 minutes:
Datadog calls https://api.example.com/health
Expected status: 200
Expected response time: less than 1 second
If it fails for 2 runs, alert the team.

That is a Synthetic Test.


3. Types of Synthetic Tests

Datadog supports multiple kinds of Synthetic Tests.

3.1 API Tests

API tests check backend endpoints and network services.

Common API test types:

API Test TypePurpose
HTTPCheck REST/API endpoint
SSLCheck certificate validity
DNSCheck DNS resolution
TCPCheck TCP port connectivity
UDPCheck UDP service
ICMPPing-style network check
WebSocketCheck WebSocket service
gRPCCheck gRPC endpoint
Multistep APIChain multiple API calls together

Example use cases:

Use CaseTest Type
Check /health endpointHTTP API test
Check certificate expirySSL test
Check DNS recordDNS test
Check gRPC health endpointgRPC test
Login → get token → call protected APIMultistep API test

3.2 Browser Tests

Browser tests simulate real user actions in a browser.

Example:

Open homepage
Click Login
Enter username and password
Click Submit
Verify dashboard is visible

Browser tests are useful for validating frontend flows.

Common use cases:

Use CaseBrowser Test?
Login flowYes
Checkout flowYes
Search flowYes
Form submissionYes
Page rendering validationYes

3.3 Mobile Application Tests

Mobile app tests validate mobile application flows on real devices.

Example:

Open mobile app
Tap login
Enter credentials
Verify home screen appears

Use this when your customer journey is inside an Android or iOS app.


4. What is a Synthetic Test Suite?

A Synthetic Test Suite is a collection of existing Synthetic Tests.

It helps you organize tests by:

Grouping StyleExample
User journeyLogin suite, checkout suite, booking suite
EnvironmentProduction suite, staging suite
ServicePayment service suite, auth service suite
TeamPlatform team suite, frontend team suite
CriticalityTier-1 critical tests, non-critical tests
LocationJapan user journey, US user journey
ApplicationWeb app suite, mobile app suite

Example:

Suite Name: Production Checkout Journey

Tests inside:
1. Homepage browser test
2. Login browser test
3. Product search browser test
4. Add to cart browser test
5. Payment API test
6. Order confirmation API test

The Test Suite helps you see whether the overall checkout journey is healthy.


5. Main Difference Between Synthetic Test and Synthetic Test Suite

AreaSynthetic TestSynthetic Test Suite
Main purposeRuns an actual checkGroups multiple tests
Does it execute a request/browser/mobile flow?YesNo, it triggers or organizes existing tests
Unit of monitoringOne endpoint, one browser flow, one mobile flow, one API sequenceA collection of tests
AlertingAlert on individual test failureAlert on suite-level condition
Dashboard useCan be shown directly or used for SLO creationUsed for grouped visibility and suite health
SLO creationUsually manual Monitor-based SLOCurrent docs do not clearly show automatic SLO creation
OwnershipUsually owned by service/app teamUsually owned by team, product, journey, or environment
Best forPrecise technical monitoringBusiness journey or operational grouping
ExampleGET /health should return 200Production Checkout Critical Tests

6. Features Available in Synthetic Tests

These are mainly features of individual Synthetic Tests.

FeatureAvailable in Synthetic Test?Notes
API endpoint checkYesHTTP, DNS, SSL, TCP, UDP, ICMP, WebSocket, gRPC
Browser journey recordingYesSimulates real user flow
Mobile app journey testingYesTests Android/iOS app flows
AssertionsYesValidate status code, text, response time, UI element, etc.
Request headers/bodyYesUseful for API tests
Authentication handlingYesAPI tokens, cookies, login steps, variables
Multistep API chainingYesPass data from one request to another
Test frequencyYesExample: every 1 min, 5 min, 15 min
Managed locationsYesRun from Datadog locations
Private locationsYesRun from inside private network
Alert conditionsYesConfigure when test should alert
Retry behaviorYesReduce false positives
Per-test uptimeYesAvailable from test results
Monitor-based SLO sourceYesCommon SLO source for uptime
CI/CD executionYesCan run tests in pipeline
Terraform/API managementYesCan manage tests as code

7. Features Available in Synthetic Test Suites

These are mainly features of Test Suites.

FeatureAvailable in Test Suite?Notes
Group multiple testsYesMain purpose of Test Suite
Add existing testsYesYou add already-created Synthetic Tests
Group by journey/environment/teamYesVery useful for organization
Suite-level viewYesSee related tests in one place
Suite-level test runs tabYesUseful for grouped execution history
Global uptime metricsYesSuite view can show aggregated uptime-style metrics
Suite-level alertingYes, depending on site/supportSuite alerts are separate from individual alerts
Mark tests critical/ignoredYesUsed for suite-level alert decisions
Alert when percentage of critical tests failYesUseful for reducing noise
Run multiple tests manuallyYesCurrent docs mention max 50 tests can be run at a time
Maximum tests per suiteYesCurrent docs mention up to 300 tests per suite
Replace individual testsNoSuite only groups tests; it does not become the real test
Per-endpoint assertionNoAssertions live inside individual tests
Per-step browser recordingNoBrowser steps live inside browser tests
Per-test request configurationNoRequest config lives inside the individual test

8. Feature Comparison: What One Has and the Other Does Not

8.1 Features Synthetic Tests Have, But Test Suites Do Not

FeatureSynthetic TestTest Suite
Actual HTTP/API request executionYesNo
Actual browser recording stepsYesNo
Actual mobile app test stepsYesNo
AssertionsYesNo
Request headers/bodyYesNo
gRPC proto/method behavior configYesNo
DNS/SSL/TCP/UDP/ICMP configurationYesNo
Authentication detailsYesNo
Response validationYesNo
Direct monitor for one endpoint/flowYesNo
Direct source for Monitor-based SLOYesNot usually the direct source

8.2 Features Test Suites Have, But Synthetic Tests Do Not

FeatureSynthetic TestTest Suite
Group many tests togetherNoYes
View journey-level healthLimitedYes
Suite-level alertingNoYes
Mark tests as Critical or Ignored for suite alertNoYes
Alert based on percentage of critical tests failingNoYes
Run selected tests togetherNoYes
Manage tests by business journeyLimitedYes
See all related tests in one placeNoYes
Troubleshoot grouped failuresLimitedYes

9. SLO Behavior: Very Important

This is where confusion usually happens.

A Synthetic Test and an SLO are not the same thing.

A Synthetic Test checks whether something is working.

An SLO defines a reliability target, such as:

The login API should be available 99.9% of the time over 30 days.

9.1 For Individual Synthetic Test SLO

The usual flow is:

Synthetic Test
   ↓
Datadog Monitor
   ↓
Monitor-based SLO
   ↓
Dashboard SLO Widget

Example:

ItemExample
Synthetic Testprod-login-api-health
MonitorAuto/linked Synthetic monitor
SLOLogin API availability 99.9%
Dashboard widgetSLO widget showing error budget

9.2 For Test Suite SLO

Be careful here.

A Test Suite gives you grouped visibility and suite-level alerting, but you should not assume that creating a Test Suite will always create a visible SLO automatically.

If you want a Dashboard SLO widget, the safest approach is:

RequirementRecommended Action
Show SLO for one endpointCreate Monitor-based SLO from that Synthetic Test
Show SLO for one browser journeyCreate Monitor-based SLO from that Browser Test
Show SLO for critical business journeyCreate SLO from one or more important monitors, or use suite-level alerting separately
Show grouped healthUse Test Suite view and dashboard widgets
Avoid missing SLO confusionCreate SLOs manually and name/tag them clearly

10. Alerting Difference

10.1 Synthetic Test Alerting

Synthetic Test alerting is precise.

Example:

Alert if login API fails from 2 of 3 locations for 5 minutes.

Good for:

Use CaseWhy
Endpoint downDirect failure
SSL expiryDirect certificate issue
DNS problemDirect DNS validation
One browser flow brokenDirect user journey issue
gRPC method brokenDirect RPC validation

10.2 Test Suite Alerting

Test Suite alerting is broader.

Example:

Alert if 30% of critical tests in the checkout suite fail.

Good for:

Use CaseWhy
Avoid alert stormOne suite alert instead of many test alerts
Business journey monitoringCheckout/login/payment grouped together
Operations dashboardEasier for NOC/SRE/team dashboard
PrioritizationCritical tests can trigger alert; ignored tests do not

11. Recommended Design Pattern

For a production application, use both.

Layer 1: Individual Synthetic Tests

Create individual tests for each important endpoint or journey.

Example:

Test NameTypePurpose
prod-homepage-browserBrowserHomepage availability
prod-login-apiHTTP APILogin endpoint
prod-checkout-browserBrowserCheckout user journey
prod-payment-apiHTTP APIPayment endpoint
prod-grpc-healthgRPCgRPC service health

Layer 2: Test Suites

Group those tests into suites.

Suite NameIncluded Tests
prod-critical-uptime-suiteLogin, homepage, payment, checkout
prod-checkout-journey-suiteSearch, cart, payment, order confirmation
staging-release-validation-suiteSmoke tests before release
auth-service-suiteLogin, token, refresh, logout

Layer 3: SLOs

Create SLOs for what leadership and SRE care about.

SLO NameSource
Login API Availability 99.9%Login API Synthetic monitor
Checkout Journey Availability 99.5%Checkout browser monitor or selected monitors
Payment API Availability 99.9%Payment API Synthetic monitor
Production Critical UptimeCarefully selected critical monitors

Layer 4: Dashboard

Create a dashboard with:

WidgetPurpose
SLO widgetReliability target and error budget
Synthetic test summaryCurrent test health
TimeseriesLatency trend
Top list/tableFailing locations/tests
Test Suite statusBusiness journey health
Logs/APM linksTroubleshooting

12. Naming Convention Best Practice

Use consistent names. This makes SLOs, dashboards, and suites much easier to manage.

Recommended naming:

<env>-<service-or-journey>-<test-type>-<purpose>

Examples:

NameMeaning
prod-auth-api-login-healthProduction login API health check
prod-web-browser-checkout-flowProduction checkout browser flow
stg-payment-api-smokeStaging payment smoke test
prod-mobile-login-flowProduction mobile login test

For suites:

<env>-<business-area>-suite

Examples:

Suite NameMeaning
prod-critical-uptime-suiteCritical production checks
prod-checkout-journey-suiteCheckout journey tests
stg-release-validation-suitePre-release staging checks
prod-auth-service-suiteAuth service tests

For SLOs:

<env> <service/journey> Availability <target>

Examples:

SLO NameMeaning
prod login API availability 99.9%SLO for login API
prod checkout journey availability 99.5%SLO for checkout flow
prod payment API availability 99.9%SLO for payment endpoint

13. Tagging Best Practice

Tags are very important in Datadog.

Recommended tags:

TagExample
envenv:prod
serviceservice:auth
teamteam:platform
journeyjourney:checkout
criticalitycriticality:tier1
regionregion:ap-northeast-1
ownerowner:sre

Example:

env:prod
service:payment
team:platform
journey:checkout
criticality:tier1

This helps with filtering:

AreaBenefit
Synthetic test listQuickly find tests
Test SuitesAdd tests by tag
DashboardsFilter by env/team/service
SLOsOrganize ownership
Cost attributionUnderstand Synthetic usage

14. Practical Tutorial: How to Build This in Datadog

Step 1: Create Individual Synthetic Tests

Go to:

Digital Experience → Synthetic Monitoring → New Test

Choose test type:

RequirementChoose
Check REST APIAPI Test → HTTP
Check gRPC serviceAPI Test → gRPC
Check website flowBrowser Test
Check mobile app flowMobile Application Test
Check SSL expiryAPI Test → SSL
Check DNSAPI Test → DNS

Configure:

Name
URL/endpoint
Locations
Frequency
Assertions
Retries
Alerting condition
Tags
Notification message

Save the test.


Step 2: Create a Test Suite

Go to:

Digital Experience → Test Suites → New Test Suite

Configure:

Suite name
Add existing Synthetic Tests
Mark tests as Critical or Ignored
Configure suite alerting if available
Save Suite

Example:

Suite Name: prod-checkout-journey-suite

Tests:
- prod-homepage-browser
- prod-login-api
- prod-product-search-browser
- prod-add-to-cart-browser
- prod-payment-api
- prod-order-confirmation-api

Step 3: Create SLOs Manually

Go to:

Service Management → Service Level Objectives → New SLO

Choose:

Monitor-based SLO

Then select the Synthetic monitor.

Example:

SLO Name: prod login API availability 99.9%
Source Monitor: prod-auth-api-login-health
Target: 99.9%
Window: 30 days
Tags:
  env:prod
  service:auth
  team:platform

Save.


Step 4: Add SLOs to Dashboard

Go to:

Dashboard → Edit → Add Widget → SLO Widget

Select the SLO you created.

Important:

A dashboard SLO widget does not create SLOs. It only displays SLOs that already exist.

So if a new Synthetic Test is missing from the dashboard, check:

Was an SLO created for it?
Was the SLO added to the dashboard widget?
Are dashboard filters hiding it?
Are tags correct?

15. When to Use Synthetic Test vs Test Suite

ScenarioUse Synthetic TestUse Test Suite
Monitor one API endpointYesOptional
Monitor one SSL certificateYesOptional
Monitor one gRPC serviceYesOptional
Monitor login browser journeyYesOptional
Group all login-related checksNoYes
Group all checkout testsNoYes
Create business journey viewNoYes
Create per-endpoint SLOYesNo
Reduce alert noise from many related testsMaybeYes
Run smoke tests togetherMaybeYes
Build executive dashboardYes, via SLOsYes, for grouped context

16. Common Confusions

Confusion 1: “I created a Synthetic Test, but no SLO appeared.”

That is expected.

Create a Monitor-based SLO manually.

Confusion 2: “I created a Test Suite, but no new SLO appeared.”

Do not assume Test Suite creation automatically creates a visible SLO in your SLO list.

Check:

Service Level Objectives page
Dashboard widget filters
Suite page
Permissions
Datadog site support

If you need an SLO, create it manually.

Confusion 3: “I added tests to a suite, but they are missing old results.”

Suite results normally apply from the time the test was added to the suite. For older history, check the individual test page.

Confusion 4: “Should I mute individual test alerts after adding suite alerting?”

Maybe yes.

If you enable suite-level alerting and individual test alerting, you may get duplicate notifications.

Common approach:

Test TypeAlerting Strategy
Tier-1 critical individual testKeep individual alert
Non-critical test in suiteMute or reduce individual alert
Business journey suiteEnable suite alert
SLO-backed testKeep alert carefully aligned with SLO

17. Recommended Alerting Strategy

Use this model:

LevelPurposeExample
Individual Synthetic AlertPrecise technical failureLogin API down
Suite AlertBusiness journey degradedCheckout suite failing
SLO Burn/Error Budget AlertReliability riskError budget burning too fast
DashboardVisibility and trendSLO, uptime, latency, failures

Best practice:

Do not alert everyone for everything.

Recommended pattern:

Test CriticalityAlert Behavior
Tier-1 criticalPager/urgent alert
Tier-2 importantTeam channel alert
Tier-3 informationalDashboard only
Noisy/non-criticalSuite-only or muted

18. Example Final Design

Synthetic Tests

TestTypeFrequencyAlert
prod-auth-api-login-healthHTTP API5 minYes
prod-web-browser-login-flowBrowser10 minYes
prod-payment-api-healthHTTP API5 minYes
prod-checkout-browser-flowBrowser15 minYes
prod-grpc-order-healthgRPC5 minYes

Test Suites

SuiteTests IncludedPurpose
prod-critical-uptime-suiteAuth, payment, checkout, orderProduction critical health
prod-checkout-journey-suiteHomepage, search, cart, payment, confirmationBusiness flow
stg-release-validation-suiteSmoke testsPre-release validation

SLOs

SLOSourceTarget
prod auth API availabilityAuth API monitor99.9%
prod payment API availabilityPayment API monitor99.9%
prod checkout journey availabilityCheckout browser monitor99.5%

Dashboard

Dashboard SectionWidgets
Executive summarySLO widgets
Synthetic healthTest status widgets
Business journeyTest Suite status
TroubleshootingFailed locations, latency, APM/log links
ReliabilityError budget and burn rate

19. Final Recommendation

Use Synthetic Tests for actual monitoring.

Use Test Suites for organization, grouped execution, suite-level visibility, and journey-level alerting.

Use SLOs separately for reliability targets and dashboards.

The clean design is:

Synthetic Tests = actual checks
Test Suites = grouped operational view
SLOs = reliability target
Dashboard = visibility layer
Alerts = action layer

For your case, where you created uptime tests and display them on a dashboard using SLO widgets:

For each important Synthetic Test:
1. Confirm the Synthetic Test exists.
2. Confirm its monitor exists.
3. Manually create a Monitor-based SLO.
4. Add that SLO to the dashboard SLO widget.
5. Optionally add the test into a Test Suite for grouped visibility.

Do not depend on Test Suite creation to automatically create every SLO you need.

That manual SLO step is the safest and cleanest production approach.