Helping each other understand WUs and optimizing our apps

Hello to all the nocoders, founders, agencies and companies across the world. Wishing you all the best as you navigate this big change in the platform we all love. Our current view as a dev agency is that Bubble has fundamentally changed and there is likely no going back from here. What is up for debate is whether the pricing & quantity of work units on each plan will be adjusted. At this point, the best case scenario is that each plan will get anywhere from a 5x to 15x increase in the number of work units available. The worst case scenario is that the pricing remains as is with no adjustments.

This change is quite challenging for all of us. So let’s use this thread to share information that can help us better understand WUs & how to start optimizing our apps. Share your tweets, screenshots, looms, analysis, tests, experiments, optimization tips, findings, challenges, trade-offs, dev decisions etc etc here - So that we start building a repository of knowledge that can help the whole community now and in the future.

Wishing you all the best from Harare :zimbabwe:


Previously, the hybrid approach (Bubble + Custom Backend and Database) was a good solution. Now, even that approach eats tons of WU.


What does a client side wf action consume from a plugin?

1 Like

Before trying to make it use less WU


1 Like

I tried a simple fetch from a client side plugin action. The test was: load the page, activate the action 10 times.
It looks like only the page load was billed.


I’m noodling around on client side elements that use bubble to authenticate, get a token, then use that token to fetch from the browser external data. Then that data is presented in bubble as Bubble data types, in the browser.

The token that is issued is tied to per user permissions on the external database.

Something like this …. We’ve a few months to figure it out fully. :thinking::thinking::thinking:

I can’t see how workload in the browser could be observed by whatever counts the WU.

1 Like

I think the xano plugin does work this way, doesn’t it?

1 Like

Yor plugin is executed inside the bubble code, if they want to phone home and add some WU count they can.
Of course it would be extremely hostile because we are talking about code executed on the browser without fetching data from bubble’s servers.

1 Like

We need to remember this 1000 WU = $0.30
My page load currently costs 480 WU so I’ll pay roughly $0.14 for each page load. The average active user loads my pages 25 times a day, so that means one user will cost me $3.5 / day and $105 / month.

Now to fix this, instead of selling my subscription at $9.99 I just add the $105 to this so my basic package is now $114.99

Ooops I just realized that now it may be hard to sell my little SaaS product?

Wait my math is wrong because then my users will be clicking too!!!
Oh no, they should stop clicking, maybe I make a popup telling them to click carefully. Only click the button if really needed because it costs me everything.


True … interesting to think of xano this way … that’s @jared.gibb gig … I’ll need his official nod that it’s ok for me to look at a nocode integration of xano into Bubble :rofl:

1 Like

So client side workflows do not consume wu. So using xano for login, data, etc would work.

1 Like


But the plugin’s API connector charges WU

So, all API requests should be client-side. This is a workaround, but cannot pass private keys to these API requests.


What is the point? This pricing model doesn’t work. You can’t have a business where you’re scared of your user interacting too much with your app. It’s the opposite of what you want.

Take the 18 months grace period and learn something else like wappler and move.


wel… you can, thru someting like xano


Interesting video by @ZubairLK showing how dropdowns which display many records consume a lot of workload units. Do every (x) seconds also seems to be consuming a lot of workload units.


I have seen the Data API consuming WUs even when it is returning a zero result (polling for updates).

Anyone tried the meta/swagger endpoint?

That would be a bit harsh. As is the polling.


Same here. I ran some javascript using Toolbox’s Run Javascript action in a workflow. So glad that didn’t register as a WU.


I’ve been going through my ERP and realtime data takes up 60% of my WU. I have some parts of my app already offloading data from the DB and into local storage and was already planning to do so for the rest.

One of the ideas I have to reduce my WU on searches is using IndexedDB as much as I can. I’ve been spending the entire day learning about it and it looks like the best way to “optimize” my WU consumption.

I’ve emailed Bubble support some questions regarding WU and will share it here when they reply to me some time after Monday. Here’s my email:


As advised I am going to start optimizing my apps. There are some things that I would like to clarify that will help with this process. I would rather not wait for your webinar before starting the work.

Why are there WU costs related to deleted pages?

Why is there an API WU cost in my sandbox app when I don’t even have the API connector installed?

Are there native Bubble factors involved that? Also why can I not drill down into the API to find out more?

Why is there an individual data request when I am not requesting any data from my database?

All I did was run the “Run Javascript” action (from the ToolBox plugin) when I click a button. What are the factors that add to this cost?

When doing a search of things with the :first item operator, does the result of the search constraints count toward the total WU? Or does it only cost that 1 item fetched?

If the former, then does that mean the more records in my data type the higher the WU cost even if I only want the first item?

Will calling an API as a clientside JavaScript action, using the Toolbox Plugin, cost me WU?
Since it’s client-side and running in the browser this shouldn’t incur any WU cost right? Right?

How would using plugins affect my WU? What part of plugins will cost more WU?
If a plugin loads an external library or dependency will that affect my WU?
What factors do I have to look out for so I don’t accidentally use a plugin the blows up my WU?

Is there a roadmap for native optimization features or workflow actions?
For example, having the ability to run custom scripts as a native action client side, hence not incurring WU according to your WU guide, will be a confidence booster against the pricing changes.


I’m all up for raging but it’s time to be shake off the dust and be productive.


I have an app runs around ~75,000 workflows per month, handful of users , less than 50 users, in general the app optimized, very little Do a search, and pages doesn’t contain alot of searches and data retrieval, but the app very dependent on API connections running on the back-end workflows. This app has around 18 million Wu.


@vascolucci look like time to move to 3rd party db like Xano, supabase, firebase etc.

1 Like