Docs

Firebase Remote Config Pricing: What to Track First

Firebase Remote Config moved to usage-based pricing on Blaze. Track fetch volume per surface before a client update turns config into a real cost.

Revenue

Firebase Remote Config has always felt like a free, unlimited dial you could turn without thinking — flip a flag, roll out a value, done. From 1 September 2026 that stopped being strictly true. Every project still gets a no-cost tier of daily fetch requests, but usage on the Blaze plan beyond that threshold is now billed, and Remote Config has simultaneously absorbed A/B Testing, Personalization, and Rollouts as native features rather than separate free add-ons. That’s a meaningful product upgrade, but it also means the thing your app calls on every cold start, every session resume, and every screen that checks a flag is no longer a metering-free operation.

The risk isn’t the pricing itself — the no-cost tier is generous for most apps. The risk is that nobody on the team is currently watching fetch volume as a cost driver, because it never needed watching before. A single misconfigured fetch interval, a background refresh loop that fires more often than intended, or a new feature that checks five flags where it used to check one can quietly multiply your daily fetch count. Without visibility into where that volume comes from, the first sign of a problem is a line item on next month’s invoice rather than something you caught in a dashboard.

Data Points to Track

  • Remote Config fetch count per day, broken out by app version and platform, so a spike can be traced to a specific release rather than the aggregate
  • Fetch trigger source — cold start, foreground resume, manual refresh, or scheduled background fetch — since each has a very different cost profile at scale
  • Fetch cache hit rate, to see how often the SDK serves a cached value versus making a billable network fetch
  • Flag and parameter count per fetch call, since bundling more parameters into a single fetch is cheaper than issuing several smaller ones
  • A/B Testing and Personalization experiment count, now that they live inside Remote Config’s own usage rather than a separate free surface

Setup Steps

  1. Instrument an event around every Remote Config fetch call that logs the trigger source and whether the response came from cache, not just whether the fetch succeeded.
  2. Set the minimum fetch interval deliberately in each client, rather than leaving the SDK default, and log the configured interval alongside app version so you can audit it later.
  3. Consolidate flag checks into a single fetch and activate cycle per session where possible, instead of calling fetch separately from multiple unrelated code paths.
  4. Export daily fetch volume into the same dashboard as your infrastructure spend, so a fetch spike is visible next to the cost it’s about to generate, not buried in Firebase’s own console alone.
  5. Alert on daily fetch count crossing a defined threshold per app version, well before it approaches your project’s no-cost tier ceiling.

Actionable Insights

Once fetch volume is logged with a trigger source attached, a bill increase stops being a mystery and becomes a specific, attributable line: this app version added a background refresh loop, or this new screen fetches on every render instead of once per session. That same data also tells you where consolidating flag checks would save the most — usually a handful of screens or SDKs firing redundant fetches account for a disproportionate share of total volume. Teams that already track this will also be better placed to judge whether moving an experiment from a third-party A/B testing tool into Remote Config’s now-native A/B Testing actually reduces their total tooling cost, rather than assuming it does.

Expert help

Need help tracking this in your app?

Our team sets up analytics pipelines for mobile and web teams every day. Talk to us and get your first events flowing in under an hour.

Talk to an expert