Skip to main content
RapidDev - Software Development Agency
bubble-tutorial

How to deploy a Bubble app

Deploy your Bubble app to production by reviewing Privacy Rules, testing workflows in development mode, running the Issue Checker, deploying to live with the Deploy button, monitoring post-deployment behavior in the Logs tab, and knowing how to roll back if issues arise. This checklist ensures a smooth launch.

What you'll learn

  • How to prepare your app for deployment with a pre-launch checklist
  • How to use the Issue Checker and Debugger for final testing
  • How to deploy to live and set up a custom domain
  • How to monitor your live app and roll back if needed
Book a free consultation
4.9Clutch rating
600+Happy partners
17+Countries served
190+Team members
Beginner8 min read15-20 minStarter plan+ (Free plan cannot deploy to live)March 2026RapidDev Engineering Team
TL;DR

Deploy your Bubble app to production by reviewing Privacy Rules, testing workflows in development mode, running the Issue Checker, deploying to live with the Deploy button, monitoring post-deployment behavior in the Logs tab, and knowing how to roll back if issues arise. This checklist ensures a smooth launch.

Overview: Deploying Your Bubble App

This tutorial covers the full deployment process for a Bubble app. You will run through a pre-deployment checklist including Privacy Rules and workflow testing, use Bubble's Issue Checker to catch problems, deploy to your live environment, configure a custom domain, monitor the app after launch, and learn how to roll back if something goes wrong. This is essential reading for anyone about to launch their Bubble app to real users.

Prerequisites

  • A Bubble account on a paid plan (Starter or higher)
  • A fully built app with workflows, data types, and pages complete
  • Test data and test user accounts for verification
  • A custom domain purchased (optional but recommended)

Step-by-step guide

1

Run the pre-deployment checklist

Before deploying, review these items: go to Data tab then Privacy and verify every data type has appropriate Privacy Rules (especially User and any sensitive types). Check that no API keys are exposed in page elements — all secrets should be in plugin settings or API Connector with Private checked. Verify all pages have proper titles and meta descriptions in Settings for SEO. Test the app as a non-admin user using the Run as feature to check permission issues. Review all workflows for error handling.

Pro tip: Create a checklist data type or use a spreadsheet to track each item — rushed deployments are the top cause of post-launch issues.

Expected result: All Privacy Rules are reviewed, API keys are secured, SEO metadata is set, and the app works correctly for all user roles.

2

Use the Issue Checker

Click the Issue Checker icon in the top toolbar (the checkmark icon). Bubble scans your app for problems like broken references, missing data sources, incomplete workflows, and unused elements. Fix all errors (red items) before deploying — these will cause runtime failures. Review warnings (yellow items) and decide which to address. The Issue Checker does not catch logic errors, so manual testing is still essential.

Expected result: The Issue Checker shows zero errors and only acceptable warnings.

3

Test thoroughly in development mode

Open your app in Preview mode and test every user flow: registration, login, core features, payment (with Stripe test cards), and edge cases (empty inputs, large data sets, mobile viewport). Use the Debugger (bug icon in preview) to step through workflows and inspect data. Test as different user roles by logging in with test accounts. Check that emails send correctly using Bubble's email logs or your email service dashboard.

Expected result: All user flows work correctly in development mode across different user roles and device sizes.

4

Deploy to live

Once testing is complete, go to the deployment page by clicking the blue Deploy to Live button in the top right of the editor (or go to the Deployment tab). You will see a comparison of changes between your development version and the current live version. Review the changes list carefully. Click Deploy. Bubble will copy your development version to the live environment. This typically takes 10-60 seconds depending on app complexity. Your app is now live at yourapp.bubbleapps.io.

Pro tip: Deploy during low-traffic hours if you have existing users. The deployment process briefly interrupts the live app.

Expected result: Your app is live and accessible at the bubbleapps.io URL or your custom domain.

5

Set up a custom domain

Go to Settings then Domain/email. Enter your custom domain (e.g., app.yourdomain.com). Bubble provides DNS instructions — typically add a CNAME record pointing your subdomain to your Bubble app URL. If using a naked domain (yourdomain.com without www), you need an A record or a redirect from your DNS provider. Wait for DNS propagation (up to 48 hours, usually much faster). Bubble automatically provisions an SSL certificate once DNS resolves correctly.

Expected result: Your custom domain points to your Bubble app with a valid SSL certificate.

6

Monitor and roll back if needed

After deploying, go to the Logs tab to monitor server logs for errors. Check the app as a real user — visit the live URL and test key flows. Watch the Workload metrics in Settings to ensure WU usage is within expected ranges. If you discover a critical issue, you can roll back: go to the Deployment page and click Revert to previous version. This restores the last deployed version. Note that database changes (new records, modified data) are NOT rolled back — only the app logic and UI revert. For complex launches requiring zero-downtime deployment, consider working with RapidDev.

Expected result: The live app is monitored for errors, and you know how to revert if a critical issue appears.

Complete working example

Workflow summary
1DEPLOYMENT CHECKLIST WORKFLOW SUMMARY
2========================================
3
4PRE-DEPLOYMENT CHECKLIST:
5 [ ] Privacy Rules set for ALL data types
6 [ ] API keys in Private fields only (not in page elements)
7 [ ] All pages have SEO metadata (title, description)
8 [ ] Tested as non-admin user (Run as feature)
9 [ ] All workflows have error handling
10 [ ] Issue Checker shows zero errors
11 [ ] Tested registration + login flow
12 [ ] Tested core business flows
13 [ ] Tested payment flow (Stripe test cards)
14 [ ] Tested on mobile viewport
15 [ ] Tested email notifications
16 [ ] Removed test data or use separate dev database
17 [ ] Favicon and app name set in Settings
18 [ ] 404 page customized
19 [ ] Page load redirects work for protected pages
20
21DEPLOYMENT STEPS:
22 1. Click Deploy to Live button (top right)
23 2. Review change comparison
24 3. Click Deploy
25 4. Wait for completion (10-60 seconds)
26 5. Verify live URL works
27
28CUSTOM DOMAIN SETUP:
29 1. Settings Domain/email
30 2. Enter custom domain
31 3. Add DNS records at domain registrar:
32 - Subdomain (app.domain.com): CNAME app.bubbleapps.io
33 - Naked domain: A record or redirect to subdomain
34 4. Wait for DNS propagation
35 5. SSL auto-provisioned by Bubble
36
37POST-DEPLOYMENT MONITORING:
38 - Logs tab: watch for server errors
39 - Settings Metrics: monitor WU usage
40 - Test key flows on live URL
41 - Check email delivery
42 - Monitor page load times
43
44ROLLBACK PROCEDURE:
45 1. Go to Deployment page
46 2. Click Revert to previous version
47 3. Note: database data is NOT reverted
48 4. Test that rolled-back version works
49
50STRIPE LIVE KEYS (when ready):
51 - Switch pk_test_ pk_live_
52 - Switch sk_test_ sk_live_
53 - Update webhook endpoints to live URL
54 - Do NOT change keys until deployment is confirmed

Common mistakes when deploying a Bubble app

Why it's a problem: Deploying without reviewing Privacy Rules

How to avoid: Review every data type's Privacy Rules before deploying. Ensure sensitive types (User, Payment, etc.) have appropriate restrictions.

Why it's a problem: Forgetting to switch from Stripe test keys to live keys

How to avoid: After confirming the deployment works, switch Stripe publishable and secret keys to their live versions in the plugin settings.

Why it's a problem: Using Cloudflare proxy (orange cloud) for DNS

How to avoid: Set the DNS record to DNS-only mode (grey cloud icon) in Cloudflare so the traffic goes directly to Bubble's servers.

Why it's a problem: Expecting database rollback when reverting the app version

How to avoid: Understand that rollback only affects the app version. For data issues, you need to manually fix records in the database.

Best practices

  • Run the Issue Checker and fix all errors before every deployment
  • Test as a non-admin user using the Run as feature to catch permission issues
  • Deploy during low-traffic hours to minimize disruption to existing users
  • Set up a custom domain on a paid plan for a professional appearance
  • Use DNS-only mode (not Cloudflare proxy) to avoid SSL certificate conflicts
  • Monitor the Logs tab and WU metrics immediately after deployment
  • Keep a deployment log noting what changed in each version for easier debugging

Still stuck?

Copy one of these prompts to get a personalized, step-by-step explanation.

ChatGPT Prompt

I am about to deploy my Bubble.io app to production for the first time. What is the complete checklist I should follow? What are common deployment issues and how do I set up a custom domain with SSL?

Bubble Prompt

Review my app before deployment. Check that all data types have Privacy Rules, all API keys are in Private fields, all pages have SEO metadata, and the Issue Checker shows no errors. Then walk me through deploying to live.

Frequently asked questions

Can I deploy on Bubble's free plan?

No. The free plan does not allow deployment to a live URL. You need at least the Starter plan ($29/month) to deploy and access a custom domain.

How long does deployment take?

Typically 10-60 seconds for most apps. Very large apps with many pages and workflows may take a few minutes.

Will deployment affect my existing users?

There may be a brief interruption (a few seconds) during deployment. Users on the app at that moment may need to refresh their page. Deploy during low-traffic hours to minimize impact.

How do I set up a staging environment?

Bubble's development version serves as your staging environment. You can also duplicate your app to create a separate testing copy. The live version is your production environment.

Can I deploy only specific changes?

No. Bubble deploys the entire development version to live. You cannot selectively deploy individual pages or workflows. Review the change comparison carefully before deploying.

Can RapidDev help with complex deployments?

Yes. RapidDev specializes in Bubble development and can help with deployment planning, security audits, performance optimization, and custom domain configuration for production launches.

How do I know if my deployment succeeded?

After clicking Deploy, Bubble shows a success message. Visit your live URL to verify the app loads correctly. Check the Logs tab for any immediate errors.

RapidDev

Talk to an Expert

Our team has built 600+ apps. Get personalized help with your project.

Book a free consultation

Need help with your project?

Our experts have built 600+ apps and can accelerate your development. Book a free consultation — no strings attached.

Book a free consultation

We put the rapid in RapidDev

Need a dedicated strategic tech and growth partner? Discover what RapidDev can do for your business! Book a call with our team to schedule a free, no-obligation consultation. We'll discuss your project and provide a custom quote at no cost.