Reducing usage-based charges starts with understanding where your consumption comes from. Use the billable usage dashboard to identify which products are driving costs, then apply the strategies below.
| Strategy | Impact |
|---|---|
| Set up budget alerts to catch unexpected spikes early | Prevents surprise invoices across all products |
| Review the billable usage dashboard weekly to identify cost trends | Catches runaway costs before the invoice arrives |
| Understand how charges accrue across the request lifecycle | Identifies which stage of a request generates the most cost |
Cached responses are the cheapest path through Cloudflare. Every cache hit avoids origin fetch costs, Argo routing charges, and Workers execution.
| Strategy | What it reduces |
|---|---|
Increase cache hit ratio with longer TTLs and appropriate Cache-Control headers |
Argo data transfer, Workers invocations, origin load |
| Use Cache Reserve for long-tail content that is accessed infrequently | Origin fetches — keeps content cached even when it would normally be evicted |
| Use tiered caching to reduce origin pulls | Origin bandwidth and Argo transfer between Cloudflare data centers |
| Configure cache rules to cache more static content by default | Overall cache hit ratio |
| Strategy | What it reduces |
|---|---|
| Use Workers Logs for log retention instead of Logpush | Logpush-enabled Workers requests and Logpush data transfer |
| Use the WebSocket Hibernation API for Durable Objects with idle WebSocket connections | Duration (GB-s) charges — billing pauses while the Durable Object is hibernated |
| Strategy | What it reduces |
|---|---|
| Use R2 lifecycle rules to transition cold data to the Infrequent Access storage class | Storage costs for archival data |
| Batch R2 operations where possible instead of per-object reads | Class B operation count |
| Use presigned URLs for direct client access instead of proxying through Workers | Workers invocations and CPU time |
| Enable Cache-Control headers on R2 objects to leverage Cloudflare's CDN cache | Class B reads — cached objects do not hit R2 |
| Strategy | What it reduces |
|---|---|
| Set appropriate cache headers on Stream embed pages | Repeated Stream delivery minutes |
| Use Image Resizing URL format with width/height parameters to serve appropriately sized variants | Transformation count — sized variants are cached |
| Strategy | What it reduces |
|---|---|
| Set health check intervals to the longest acceptable value for your availability requirements | DNS queries to load-balanced hostnames |
| Use fewer health check regions where regional redundancy is not critical | Health check frequency multiplier |
Visibility is the foundation of cost optimization. Cloudflare provides two complementary tools:
- Billable usage dashboard — shows daily usage-based costs per product with a chart and sortable table. Available to Pay-as-you-go accounts.
- Budget alerts — sends an email notification when your total spend crosses a dollar threshold you define.
For per-product usage notifications (bytes, requests, minutes), configure usage-based billing notifications in the Cloudflare dashboard.
- How charges accrue — Follow a request and see which products generate charges
- Usage-based billing — Products table with free tiers and overage rates
- Monitor billable usage — Track daily usage-based costs
- Budget alerts — Get notified when spend crosses a threshold