Your Datadog bill didn't spike because you monitored more. It spiked because containers, custom metrics, and log volume all bill on axes you never think about.
The first time a Datadog bill crosses five figures, someone in finance forwards it to engineering with a single question: what changed? The honest answer is usually nothing changed in how you monitor. What changed is that Datadog bills on a dozen different axes, and at least three of them scale with things nobody on the team is watching.
Here is how the pricing actually breaks down, product by product, and where the money quietly leaks out.
Infrastructure monitoring is billed per host per hour, rolled up monthly. A "host" is a physical or virtual machine running the agent. On the Pro tier you're paying roughly $15/host/month billed annually, more on-demand. So far so predictable.
The catch is containers. Each host includes a bucket of containers (Pro gives you 5 per host, Enterprise 10). Go over that bucket and you pay per additional container. In a Kubernetes world where a single node packs 40 pods, you blow through the included containers instantly, and now you're paying a per-container overage on top of the per-host fee. Teams running dense clusters often find container charges rival the host charges.
APM is billed per host again, separately from infrastructure. So an instrumented service host is billed twice: once for infra, once for APM. On top of that, newer plans meter ingested and indexed spans. You ingest everything the tracer emits, then you index (retain and make searchable) a subset. Indexed spans are where the searchable trace data lives, and they carry their own per-million charge. A chatty microservice mesh generates spans at a rate that surprises everyone the first time they look.
If you're still deciding which tracer to run, our roundup of APM tools is worth a read before you commit a budget to any one vendor.
Logs are where most runaway bills are born, because logs bill on three separate steps and people only budget for one.
The surprise is that ingest and index are decoupled. You can ingest a terabyte, index 5% of it, and only pay index rates on that slice. Most teams don't set this up, so they index everything by default and pay the full stack on debug-level noise from a health-check endpoint.
Custom metrics are billed per metric, where "a metric" means a unique combination of metric name and tag values. This is the single most misunderstood line on the bill.
Emit orders.processed tagged with region (4 values) and status (3 values) and you have 12 custom metrics. Now someone adds a user_id tag. Suddenly every unique user is its own time series, and one metric name becomes hundreds of thousands. That's cardinality explosion, and it's how a well-meaning engineer adding a "helpful" tag turns a $200 line into a $9,000 one overnight.
Real User Monitoring bills per 1,000 sessions, so a consumer app with heavy traffic scales with your users, not your infrastructure. Synthetics bills per test run: API tests per 10,000 runs, browser tests per 1,000, and a five-minute check schedule racks up runs fast. Security (Cloud SIEM, CSPM) layers on per-GB of analyzed logs or per-host again. Each is reasonable alone. Stacked, they're why the bill has thirty line items.
Three things move independently of anything you consciously decide:
logger.debug someone forgot to gate.None of these show up in a planning meeting. They show up on the invoice.
user_id, request_id, and raw pod_name. Watch the "top custom metrics by volume" page monthly.A mid-size team runs 40 hosts, dense Kubernetes, full APM, and logs everything at 15-day retention. The bill:
user_id tag pushed them to 1.2M metrics ≈ $6,000That's roughly $15,700/month. Now apply the levers. Index filters drop indexed logs to 8% and retention to 7 days: logs fall to about $1,400. Strip user_id and request_id from tags: custom metrics drop to 150K, about $750. Tail sampling at 20% halves indexed spans. An annual commit on the steady baseline shaves another 20% off unit rates. The new bill lands near $6,200, well under half, with zero loss of the signals anyone actually pages on. If you want the step-by-step version, we wrote up how to reduce Datadog costs in detail.
Datadog is a genuinely good product priced to punish inattention. The tool won't stop you from indexing garbage or tagging by user ID; it'll happily bill you for it. So treat cost as an engineering concern, not a procurement one. Put a cardinality budget in your code review checklist. Default logs to ingest-not-index and make indexing an opt-in decision. Review the top-volume metrics and logs report once a month like you'd review error rates. Do that and Datadog stays worth its price. Skip it and the invoice will teach you the same lesson, just later and more expensively.
Get the latest tutorials, guides, and insights on AI, DevOps, Cloud, and Infrastructure delivered directly to your inbox.
The metrics stack you self-host is free software plus a real ops bill. Datadog hands you everything and mails you the invoice. Here's how we pick.
Static keys leak and live forever. Short-lived credentials from STS and Vault expire on their own — here's the token-exchange machinery and the TTL math that make it work.
Explore more articles in this category
The observability market is huge and the pricing is a minefield. This is the map to the tools that matter, what each is best at, and how to avoid a runaway bill.
Cloud bills grow quietly until someone asks why. This is the map for cutting spend without cutting reliability: where the money actually goes, the levers that work, and the tools worth paying for.
Datadog bills climb quietly until finance forwards the invoice. Here's the playbook we run to cut spend hard while keeping every signal that matters.