At a glance
The 95th-percentile response time across all instrumented services: 19 of every 20 shopper requests are at least this fast, but the slowest 1-in-20 may be slower. For a merchant, this is “for the unlucky 5% of shoppers, how long do they wait?” Above 1.5 seconds the page feels broken; above 3 seconds shoppers start abandoning.
Calculation
Calculated automatically from your Datadog data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.Worked example
A UK supplements brand on Shopify with Datadog APM on the storefront, checkout, and search services. The team upgraded a third-party recommendations widget on 22 Apr 26 and missed that it added a 600 ms server-side fetch to every product-detail page.
Two stories the table tells. First, p50 barely moved (180 ms to 260 ms is invisible to most shoppers); the regression hit the tail, which is exactly what p95 is designed to surface. Second, throughput dropped from 4,100 to 3,520, a 14% decline. That is shoppers abandoning slow pages and not coming back. Same period: Shopify orders/min dropped from 32 to 24. Conversion rate dropped from 1.86% to 1.43%, a 23% relative drop.
- p95 is the first metric to read when conversion drops without a clear cause. Average latency, error rate, and uptime all looked fine in this incident; only p95 told the story. The slowest 5% of shoppers are the ones most likely to bounce, and they are invisible to average-based metrics.
- 600 ms is the magic number. Industry research (Akamai, Google) consistently finds that every 100 ms of added p95 costs roughly 1% of conversion at typical ecommerce sites. This brand added 600 ms and lost ~6% of conversion in absolute terms (which is 23% in relative terms because their baseline conversion was 1.86%).
- Third-party fetches are the most common p95 regression cause. Recommendations widgets, A/B test SDKs, chat widgets, review widgets, paid-social pixels, fraud-detection scripts. They each add a small amount of latency individually; collectively they dominate the tail. Run Top Slow Endpoints once a quarter and audit anything in the top 10 that is third-party.
Sibling cards merchants should reference together
Reconciling against the vendor’s own dashboard
Where to look in Datadog:
APM → Service List for per-service latency percentiles.
APM → Traces filtered by @duration:>1500ms for individual slow request examples.
Dashboards → APM Overview for the time-series of p50, p95, p99.
APM → Service Map to see latency by upstream/downstream dependency.
Why our number may legitimately differ from Datadog’s UI:
Cross-connector reconciliation:
Known limitations / merchant FAQs
My average response time is 250 ms. Why is the dashboard amber? Because p95 is amber, not the average. Average hides the long tail. The 5% of shoppers in the slowest bucket are typically the ones most likely to abandon the cart. A p95 of 1,800 ms with a p50 of 250 ms is a real problem even though the “average shopper experience” looks fine. What is a healthy p95 for an ecommerce site? Below 800 ms is excellent. 800-1,200 ms is good. 1,200-1,500 ms is the warning zone. Above 1,500 ms is the alert zone (page abandonment becomes measurable). Above 3,000 ms shoppers abandon at high rates and the site feels broken. These thresholds are calibrated against industry research; your specific brand may tolerate slightly more (luxury) or less (high-velocity discount) before conversion impact. Datadog says p95 is fine but customers are complaining the site is slow. The classic Datadog blind spot. APM measures server-side timing, NOT browser-side experience. Three places to check: (1) Page Load p95, the RUM equivalent that includes network and browser render time; (2) Browser Test Latency p95, a synthetic browser bot that runs the full page load including third-party scripts; (3) Look at your CDN cache hit rate, a degraded CDN will not affect APM but will tank shopper experience. Also check whether a third-party script (chat widget, A/B SDK, fraud check) added a blocking JS execution that delays interactivity. Why does my p95 spike at 03:00 UTC every day? Two common causes: (1) Your nightly batch jobs (sitemap regeneration, search-index rebuild, fraud-pattern training) run at low-traffic hours and the few requests that do arrive during the batch wait behind the batch’s DB locks; (2) Your APM agent’s metric flush may coincide with another scheduled task. Check whether the spike is driven by 1-2 endpoints (which is the batch case) or all endpoints (which is the agent case). Should I optimise for p95 or p99? For most merchants, p95. p99 is too noisy at typical traffic levels (under 100,000 req/min) because a single GC pause moves it 30-50%. p95 is stable enough to alert on and meaningful enough that improvements correspond to measurable shopper-experience gains. Optimise p99 only if you are at high traffic AND p95 is already excellent (<400 ms). For most stores, p99 is decoration. My Logs API returns 400 No valid indexes. Does this card still work? Yes. p95 latency is APM-derived, not log-derived. Log Management gating only affects log-volume cards. Vortex IQ logs the gating event once at INFO level and skips log-only cards. Why does my p95 differ between weekdays and weekends? Most ecommerce sites see lower p95 on weekends because traffic is lower and queues do not build. If your weekend p95 is higher, look for: (1) reduced ops staff causing slower issue resolution, (2) batch jobs scheduled for weekends when traffic is light but still affecting users, (3) infrastructure auto-scaling that scales down too aggressively for weekend traffic patterns. Datadog measures p95 per-service; how is the headline computed? Datadog’s API supportsp95:trace.servlet.request{*} which computes the percentile across all instrumented services together. This is the right number for a merchant headline because it captures the experience across whatever endpoint a shopper happened to hit. For per-service breakdown, use Top Slow Endpoints. Note: Datadog computes per-service percentiles independently then merges; the headline is NOT a weighted average of service p95s, it is a true cross-service percentile.
My multi-region site has different p95 in different regions. Which one is shown?
The headline is computed across all regions. For per-region breakdown, use Uptime by Region for synthetic-test results, or filter the Datadog query by @datacenter: tag in the Datadog UI. Vortex IQ does not currently expose per-region APM percentiles in the headline (planned for a future release).