All writing

How to Reduce Bubble Workflow Units by 70% (Complete Optimization Guide)

How To23 March 2026Dennis Lewis

Learn how to cut Bubble workflow unit costs by 70%. Step-by-step guide to optimize searches, triggers, and backend workflows for profitable scaling

I’ve audited hundreds of Bubble applications, and I can tell you right now: most Bubble developers are hemorrhaging workflow units without even knowing it.

The good news? I’m going to show you the exact system we use to cut workflow consumption by up to 70% and take back control of your Bubble bills.

The $2,100 Wake-Up Call

A few years back, a SaaS founder came to us in a panic. His app was working beautifully and users loved it, but his Bubble bill had jumped from $300 to $2,400 almost overnight. He hadn’t changed anything major — just had more users.

Here’s what he didn’t understand: every action in your workflow, every database search, every API call, every “make changes to a thing” — that’s a workflow unit being consumed.

This is the reality for most Bubble apps as they scale. And if you don’t get ahead of it, it will absolutely crush your margins.

Understanding Workflow Units (In Human Language)

Think of workflow units like electricity for your app. Every time something happens — a user clicks a button, a scheduled workflow fires, a database trigger activates — you’re turning on lights. Leave too many lights on and suddenly your electric bill hits the roof.

Bubble gives you this incredibly powerful visual workflow builder, but they charge you every single time those workflows run. It’s like having a Ferrari with a meter that charges you per revolution of the engine.

Here’s what most people miss: not all actions cost the same.

The Real Cost Breakdown

Page & Plugin Actions:

  • Page load: 0.15 workflow units
  • Server-side plugin call: 0.2 units
  • Plugin execution time: 0.00005 per millisecond

Database Operations:

  • Database search (“Do a search for”): 0.3 units
  • Plus costs per character and row returned
  • Specific item lookup (by unique ID): per row and character costs
  • Database update: 0.5 units

Backend & API:

  • Backend database trigger: 0.05 units
  • Scheduled backend workflow: 0.6 units
  • Adding item to API scheduler: 0.1 units

Individual costs seem small, but they compound fast. Do a search with no constraints that pulls in 10,000 database rows? That’s like running your air conditioner with all the windows open.

The Biggest Workflow Vampires (And How to Kill Them)

1. Unconstrained Database Searches

This is the number one offender I see in audits. Someone sets up a search for users with no constraints, pulling in their entire user table every single time the page loads.

I once saw a page loading 847 users when it only needed to show 10. They were burning through workflow units for no reason.

The basic fix: Implement proper privacy rules. Privacy rules run before your search, so they’re your first line of defense.

The pro fix (database caching): Move heavy data processing to the backend. Create an API workflow that processes only what you need, then return just those results. This gives you granular control over exactly how much data gets pulled back and how many rows are returned. It’s not as simple as throwing a “Do a search for” on the page, but it dramatically cuts consumption.

2. Recursive Workflows

Recursive workflows are powerful, and we use them regularly. But every recursion schedules itself again — and that costs you. Running recursion over 50 items? Usually fine. Over 5,000? Your bill will feel it.

The fix: Use “Schedule API workflow on a list” instead. That’s one call rather than thousands of recursive scheduling actions.

When to keep recursion: If you need fine-grained control, logging for each action, or need to ensure every item completes individually, recursion still makes sense. Just be aware of the tradeoff.

3. Overly Broad Database Triggers

Database triggers are incredibly powerful but can spiral out of control fast. I see triggers set up on user tables to update related records — sounds reasonable — but then they fire on every field change, including profile picture updates or last login timestamps.

The fix: Add “only when” conditions to your triggers so they fire only when meaningful data changes.

How to Actually Find the Problems

You can’t fix what you can’t measure. Here’s how to diagnose your app.

Dive Into Your Logs

Navigate to your Bubble app’s logs and look at the breakdown. You might see:

  • 38% fetching data
  • 29% data trigger workflows
  • 21% scheduled workflows
  • 9% standard workflows

Click into each category to drill down. For fetching data, examine individual searches. Look for patterns:

  • Which searches consume the most units?
  • Are there any single searches dominating consumption?
  • Can you tighten constraints or move processing to the backend?

When you find a high-cost search, click through to see it in your editor. Ask yourself: can I improve the constraints? Can I cache this? Can I move it to a backend workflow?

In one of our apps, scheduled workflows were the top consumer at 28%. When I drilled in, the consumption was evenly distributed across different schedules — that’s actually a good sign. It meant the app was functioning as designed, not that one rogue workflow was out of control.

In another app, API calls were high because we use database caching extensively. The top call was pulling a single blog article. Since it’s a blogging platform, that makes sense. But I could still optimize by extending the cache duration to reduce the frequency of backend calls.

Follow Bubble’s Official Checklist

Bubble provides guidance on optimization. Key areas:

Page loads:

  • Remove or replace page-loaded events that fire repeatedly
  • Use conditions to ensure navigation events only fire once

Searches:

  • Avoid advanced filters when possible — they pull all results to the browser before filtering
  • Use privacy rules to exclude large fields that users don’t need to access
  • Be mindful of data volume

Workflows:

  • Watch the number of actions, complexity, and frequency
  • “Make changes to a list of things” consumes more than single-item changes — use sparingly

Backend & API:

  • Optimize recursive workflows
  • Cache strategically
  • Batch operations when possible

It’s an Ongoing Process, Not a One-Time Fix

Workflow optimization isn’t something you check off your list and forget. It’s ongoing maintenance.

As your app evolves and you add features, consumption patterns change. A new feature might introduce an unexpected workflow vampire. The only way to catch it is by regularly reviewing your stats.

Bubble will email you when consumption spikes. Early on, these emails can be misleading — doubling from two users to four triggers an alert, but it’s not actually a problem. As you gain traction and your app gets real usage, those alerts become important signals to investigate.

The Five Most Important Things to Remember

  1. Eliminate redundant database searches — use custom events and reference results rather than re-querying
  2. Move heavy lifting to the backend — backend workflows consume fewer units than client-side operations
  3. Cache strategically — if the data doesn’t need to be real-time, cache it
  4. Monitor your logs and stats regularly — you can’t optimize what you don’t measure
  5. Fix workflow sequencing issues — ensure workflows run in the expected order to avoid loops and redundant firing

The Real Bottom Line

Workflow unit management isn’t sexy, but here’s the reality: if you don’t control this, it will eat directly into your bottom line — or worse, prevent you from scaling altogether.

I’ve seen apps with happy users and strong product-market fit that couldn’t scale because the founder’s Bubble bills kept climbing faster than revenue. That’s a solvable problem, but it requires experience and systematic optimization.

The difference between a Bubble app that scales profitably and one that bleeds money often comes down to these workflow optimizations. Most of them are low-hanging fruit once you know where to look.

Tell us where the operation feels harder than it should

Make the business readable.

Start a Conversation
NextHow to Get Around the 20K Character Limit for API Calls in Bubble.io