Cloudflare observability billing will change on December 1: inventory your data, then verify the pricing documents
If you use Cloudflare logs or traces, begin by identifying what is stored, for how long, and where it is exported. The announced billing change is a reason to prepare an inventory, not proof that your next bill will be lower or that you should buy a plan.
Three dates, plus an Enterprise exception
Cloudflare published the announcement on 2026-10-02. We reviewed the official sources on 2026-10-05. The general new observability pricing is scheduled for 2026-12-01; Enterprise accounts move when their contracts renew and retain existing contract terms until then. This is not an October 5 launch or a fee already in effect today. The exact time and time zone of the December transition were not specified in the read documents.B01 · D01
First identify the billing family
The same log-looking data can belong to different meters. Record the product, dataset and destination before applying a rate. A website/domain plan name alone does not establish your observability Paid entitlement.D01 · D02
Future pooled persistence: Cloudflare Traces, Workers Logs, Workers Traces, Containers logs, R2 Data Access Logs, AI Gateway logs and Issues share account-level ingestion and storage allowances. The pool is not a separate allowance for every dataset.D01 · D02
Unsampled security datasets, formerly in Log Explorer, are a separate family: the future document lists $1 per GB ingested, includes 30-day retention and no additional query charge. Their usage does not consume the shared pool. Verify dataset access and entitlement separately; do not apply the pooled $0.25 rate or 50 GB allowance to all security, HTTP or firewall data.D01 · D02
Persistence and export are separate decisions. Ordinary Logpush, Workers Trace Events Logpush and OpenTelemetry destinations have different pricing treatment. Sending data elsewhere does not establish that Cloudflare or the destination costs nothing.D03 · D04 · D05
Current event counting is not the future capacity meter
The current Workers Logs document retains event-based billing until the December change: Workers Free includes 200,000 events per day with three-day retention; Paid includes 20 million events per month, then $0.60 per million, with seven-day retention. These are Workers Logs terms, not universal allowances for every Cloudflare dataset. Do not convert event counts into actual GB using a guessed average event size.D06 · D08
Future Free: a daily stop, not a monthly average
The new Free terms list 0.5 GB of ingestion per day and seven-day retention; storage is not separately metered and paid excess is unavailable. New ingestion stops at the account’s daily limit and resumes at 00:00 UTC, equivalent to 08:00 in Taipei. Existing stored data remains queryable within its retention period. Unused capacity from another day cannot rescue a day that reached its limit.D01
Future Paid: separate meters and automatic continuation
The Paid table includes 50 GB of ingestion per billing cycle, then $0.25 per additional GB. Additional storage is $0.10 per GB-month, with the included 10/12 GB-month allowance unresolved. Usage continues automatically after the allowance is exhausted. Ingestion and storage allowances cannot offset each other and do not roll into the next billing cycle. This is neither 50 GB per day nor 50 GB per dataset. The new base subscription and mapping to your specific account plan remain unverified.B01 · D01 · D08
Inventory two different quantities
Ingestion is the pre-compression amount of the event body, default enriched attributes and custom attributes. Dropped events are excluded. A gzip file’s size is not the same meter. The read pricing page did not define decimal versus binary GB bytes; use an official GB meter or a clearly labelled assumption rather than silently dividing payload bytes by a chosen constant.D01
For storage, find the highest amount of queryable GB on each day, add those daily maxima and divide by 30. Data contributes until it is no longer queryable. Do not use only the month-end footprint, the total GB ingested, or a denominator equal to the number of days in your bill. Ingestion order and expiry timing can change each day’s maximum.D01
S = sum of each day’s maximum queryable GB / 30D01
For existing Workers Observability Free, Pro and Business customers, the document describes transition on 2026-12-01. New ingestion charges apply only to data received on or after that date. For Paid accounts, old data still queryable on that date begins contributing to storage from that date; prior usage is not charged retroactively. Enterprise follows renewal. Record the actual account notice and billing-cycle boundaries privately rather than assuming every domain plan receives the new Paid pool.D01
Record retention needs before considering changes
The future shared logs/traces allowance has a default seven-day retention; unsampled security datasets include 30 days. Configurable 30-, 90- and 365-day retention is planned, and the announcement describes one-year retention as coming soon. Do not write a procedure for selecting a year in an unverified current interface. Domain analytics retention is not proof of every raw log’s retention.B01 · D01
List the evidence needed for incidents, auditing and troubleshooting before reviewing sampling. Trace rules can override the default sample rate, with the first matching rule taking priority; Workers head sampling selects logs within request contexts. A 50% request sample rate does not guarantee that all GB meters halve or that rare incident evidence remains complete. This article does not change retention, sampling or production collection.D03 · D06
Six arithmetic examples, with explicit assumptions
These are illustrations of additional usage after the relevant terms apply, not tested bills, total prices, savings or purchase quotes. Amounts use the documents’ dollar display; treating them as USD is an explicit model assumption, not verified self-serve checkout currency. Base subscription, tax, security usage, export/destination fees and other products are excluded unless a case explicitly includes them.D01 · D08 · T02 · T03
For the future pooled Paid model, I is account-level ingestion GB during the actual billing cycle. S is the daily-maximum storage calculation. C is an unresolved included-storage assumption: calculate with 10 and with 12 separately. Clamp each excess meter at zero; do not offset one with the other.B01 · D01
Additional pooled usage = max(0, I − 50) × 0.25 + max(0, S − C) × 0.10B01 · D01
1. The same usage, two unresolved storage allowances
Assume one future Paid billing cycle with I = 75 GB and S = 20 GB-month, excluding all other charges. Ingestion excess is (75 − 50) × 0.25 = 6.25. Under the announcement’s 10 assumption, storage excess is (20 − 10) × 0.10 = 1.00, giving 7.25 additional usage. Under the document’s 12 assumption, storage is 0.80, giving 7.05. The 0.20 difference is an allowance-assumption difference, not observed savings.B01 · D01
| Included-storage assumption | Additional ingestion | Additional storage | Additional pooled usage only |
|---|---|---|---|
| 10 GB-month | 6.25 | 1.00 | 7.25 |
| 12 GB-month | 6.25 | 0.80 | 7.05 |
2. Daily 2 GB ingestion does not mean 60 GB-month storage
Use a 30-day toy window starting empty, with 2 GB arriving daily and seven-day queryability. Explicitly assume old cohorts expire before the next batch and define each daily maximum as 2 × min(day, 7). The maxima are 2, 4, 6, 8, 10, 12, then 14 through day 30. Their sum is 378 GB-days, so S = 378 / 30 = 12.6 GB-month and I = 60 GB. Ingestion excess is 2.50; storage excess is 0.26 with C = 10 or 0.06 with C = 12. Additional pooled usage is therefore 2.76 or 2.56. Actual existing data, peaks and batch/expiry timing require a new calculation.B01 · D01
| Included-storage assumption | Additional ingestion | Additional storage | Additional pooled usage only |
|---|---|---|---|
| 10 GB-month | 2.50 | 0.26 | 2.76 |
| 12 GB-month | 2.50 | 0.06 | 2.56 |
3. The storage denominator remains 30
Assume a constant 1 GB stays queryable throughout a hypothetical window. For 28, 30 and 31 days, S is respectively 28 / 30 = 0.93333333, 30 / 30 = 1, and 31 / 30 = 1.03333333 GB-month. This illustrates the fixed denominator; it does not establish your actual billing dates or promise that any retention period can be configured today.B01 · D01
4. A small average does not prevent a Free daily stop
After the new Free terms apply, suppose attempted ingestion is 0.6 GB on one UTC day and 0.1 GB on the next, with no sampling assumption. The first day reaches the 0.5 GB limit and stops new ingestion; the unused next-day allowance cannot be borrowed. The precise event-boundary cutoff is unknown. The next UTC day resets the allowance. Do not average 0.7 / 2 and conclude all attempted data was accepted.D01
5. Sampling arithmetic is not an instruction to discard evidence
Only as a mathematical assumption, reduce I = 75 / S = 20 to I = 37.5 / S = 10, assuming ingestion and every daily maximum are halved. Additional pooled usage becomes zero under both C = 10 and C = 12. This does not mean a 50% request sample rate produces those sizes, that the whole plan is free, or that evidence coverage is adequate. It is not an actual before/after bill or an instruction to change production rules.D01 · D03 · D06
6. Logpush delivery and transformation have separate allowances
For eligible non-Workers-Trace-Events Logpush usage, assume 40 GB internal delivery, 60 GB external delivery and 5 GB transformation input in one monthly period. Internal excess: (40 − 25) × 0.03 = 0.45. External excess: (60 − 25) × 0.10 = 3.50. Transformation excess: (5 − 1) × 0.04 = 0.16. The additional components total 4.11, excluding destination fees. This is the documentation’s example for those meters, not a persistence rate or an OTel quote.D04 · D05
Keep exports, destinations and persistence separate
Trace configuration can persist to Cloudflare, export to an OTel destination, or do both. Persisted traces contribute to the new ingestion/storage meters from the applicable December transition. If you only need an external tool, record whether persistence is needed and what that destination retains and charges. Export-only is not a verified free alternative; do not disable incident evidence based on this model.D03
Ordinary Logpush’s GB pricing already has a 2026-09-30 changelog, rather than being the December persistence change. Internal and external destinations each include 25 GB per account per month, then $0.03 and $0.10 per GB respectively. Transformation includes 1 GB of input, then $0.04 per GB. R2 and Pipelines are internal; other destinations are external. Export measures successfully delivered uncompressed bytes, while transformation measures uncompressed input; one transformed job can incur both. Destination-service charges are additional, and existing Enterprise contracts retain their pricing until renewal.D04 · D05
Workers Trace Events Logpush keeps request-based Workers Paid pricing: 10 million requests per month included, then $0.05 per million. OTel destinations are excluded from the ordinary Logpush GB prices; the document refers to event-based Workers Observability treatment, but the full applicable OTel rate is unresolved in this package. Do not substitute the external Logpush $0.10 per GB rate.D04
A practical inventory and invoice-verification sequence
List the product/dataset and whether it belongs to pooled persistence, unsampled security, ordinary Logpush, Workers Trace Events or OTel. Keep unidentified items unknown instead of applying a common rate.D01 · D02 · D04
Privately record your actual account plan, contract type, billing-cycle start/end and applicable transition or Enterprise renewal. The model’s 30-day example is not your billing cycle.B01 · D01 · D07 · T02
Use existing usage information to record pre-compression ingestion with attributes and each daily maximum queryable GB. Identify old data that will still be queryable at transition. If a meter is unavailable, record a labelled estimate or unknown; do not enable production logging just to fill a cell.D01
Record required incident-retention days separately from current vendor retention. Review current sampling scope and rule order without changing them. Capacity planning must preserve the evidence your owner needs.B01 · D01 · D03 · D06
Separate persistence, exported bytes, transformation input and each destination’s own fees. Keep OTel’s unresolved rate and security usage out of the pooled formula.D03 · D04
When an applicable account notice is available, reconcile its included storage, base subscription, currency, taxes and meters against your contract and invoice. The document says Billable Usage will show new meters; we did not sign in or verify that interface or a customer notice. If the 10/12 difference or other terms remain unclear, keep them unknown and defer purchase or migration decisions.B01 · D01 · D08 · T02 · T03
Extra usage is only one part of the invoice
The current Workers Paid minimum is $5 USD per month per account for the Workers product. It is not evidence of the new Observability base subscription. Keep that base unknown, not zero. A total would also need security usage, eligible export/transformation charges, destination fees, other products and applicable taxes. The new pricing says queries, dashboards, alerts and analytics have no additional charge, not that the entire account bill is zero.D01 · D02 · D04 · D08 · T02 · T03
The Observability and Logpush tables display a dollar symbol. The Enterprise agreement explicitly specifies United States dollars, but that does not verify every self-serve observability checkout currency. Self-serve subscription charges generally exclude applicable taxes unless otherwise stated; country-specific amounts remain unknown. Renewals use the subscription’s applicable terms and then-current rates. Website terms are not subscription terms: verify the relevant Self-Serve or Enterprise agreement and your order form. We have not verified individual country availability, payment approval or account eligibility. Subscriptions automatically renew under applicable terms at then-current rates. Do not assume that a stated month or billing cycle is a calendar month; confirm actual boundaries for the account.D01 · D07 · D08 · T01 · T02 · T03
The announcement labels Cloudflare Traces an open beta, the unified SQL API and custom alerts beta, and cross-dataset queries and longer retention as coming soon; it announces Logpush Transformers as generally available. Those public labels do not prove your account has enabled a feature. Treat planned retention and the new Billable Usage display as unverified account availability.B01 · D01
Copyable inventory: leave unresolved fields unresolved
Use the field definitions below with your existing information. Initial values are unknown or reader-to-fill, and invoice reconciliation starts as not_tested. Select and copy the CSV text, or download the CSV. It is a planning template, not evidence of an actual bill or a tested dashboard.
Keep account notices and contracts private. Do not put account IDs, API keys, tokens, raw logs, IP addresses, customer identifiers, unredacted contracts or bank/card data in the shareable inventory. Use a nonsecret product/dataset label.
product_dataset_identifier- Nonsecret product/dataset label
current_account_plan_and_contract_type- Actual account plan and contract type; verify privately
pricing_family- Choose the billing family or leave unknown
actual_billing_cycle_dates- Actual billing-cycle dates
transition_date_and_enterprise_renewal- Applicable transition and Enterprise renewal date
ingestion_gb_precompression_with_attributes- Pre-compression ingestion including attributes
daily_max_queryable_gb_by_day- Daily maximum queryable GB, recorded per day
existing_data_queryable_at_transition- Old data still queryable at transition
required_incident_retention_days- Retention required for incidents; not a vendor setting
currently_available_retention- Currently available vendor retention
sampling_scope_and_rule_order- Current sampling scope/order; review only
persist_and_export_destination- Persistence choice and export destination
destination_service_fees- Destination-service fees
new_base_subscription- New base subscription; unknown is not zero
included_storage_allowance- Included storage: unresolved 10/12 GB-month
currency_and_tax- Currency and applicable taxes
account_notice_or_contract_evidence- Private notice/contract reference; no secret upload
invoice_and_meter_reconciliation- Invoice/meter verification; initially not_tested
Sources, read dates and remaining unknowns
Official sources · 2026-10-05
- B01 — October 2 observability announcement
2026-10-05T02:02:31.755Z - D01 — Future Observability pricing
2026-10-05T02:02:32.013Z - D02 — Datasets and pricing families
2026-10-05T02:02:31.988Z - D03 — Cloudflare Traces configuration
2026-10-05T02:02:32.282Z - D04 — Logpush pricing and exceptions
2026-10-05T02:02:32.429Z - D05 — September 30 Logpush changelog
2026-10-05T02:02:32.445Z - D06 — Current Workers Logs pricing and December transition
2026-10-05T02:02:32.821Z - D07 — Billing policy
2026-10-05T02:02:32.920Z - D08 — Workers platform pricing (separate product)
2026-10-05T02:02:32.616Z - D09 — Observability documentation overview
2026-10-05T02:02:33.162Z - T01 — Website terms NOT subscription terms
2026-10-05T02:02:34.018Z - T02 — Self-Serve Subscription Agreement
2026-10-05T02:02:34.991Z - T03 — Enterprise Subscription Agreement
2026-10-05T02:02:35.260Z
All cited source snapshots were read on 2026-10-05. Source dates, the future effective date and an actual bill-test date are different. No customer account, contract notice or invoice was tested; no logs were enabled, deleted or resampled, and no retention or plan was changed. The 10/12 allowance, new base and plan mapping, self-serve currency, tax, actual cycle, OTel rate and destination fees remain unresolved where stated. Recheck applicable notices and official documents before acting.
Related decision worksheets
- Review which tool subscriptions still serve a purpose
- Separate subscription charges from operating costs
These same-language guides help organize a decision; they do not confirm Cloudflare’s prices.