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

How to set up domain mapping in Bubble

Domain mapping in Bubble connects your custom domain to your Bubble app through DNS configuration. This tutorial covers both subdomain and root domain setup, configuring DNS records at your registrar, handling SSL certificates, troubleshooting common DNS errors, and maintaining email functionality alongside your Bubble app.

What you'll learn

  • How to configure a custom domain for your Bubble app
  • How to set up DNS records for subdomains and root domains
  • How to troubleshoot SSL certificate and DNS propagation issues
  • How to maintain email DNS records alongside Bubble domain mapping
Book a free consultation
4.9Clutch rating
600+Happy partners
17+Countries served
190+Team members
Beginner7 min read15-20 minStarter plan+ (custom domains require paid plans)March 2026RapidDev Engineering Team
TL;DR

Domain mapping in Bubble connects your custom domain to your Bubble app through DNS configuration. This tutorial covers both subdomain and root domain setup, configuring DNS records at your registrar, handling SSL certificates, troubleshooting common DNS errors, and maintaining email functionality alongside your Bubble app.

Overview: Domain Mapping in Bubble

This tutorial walks you through connecting a custom domain to your Bubble app. You will learn the difference between subdomain and root domain setups, configure the correct DNS records, handle SSL certificate provisioning, and troubleshoot common issues like DNS propagation delays and SSL errors. The guide also covers preserving your email setup when pointing your domain to Bubble.

Prerequisites

  • A Bubble app on a paid plan (Starter or higher)
  • A registered domain name from a domain registrar (GoDaddy, Namecheap, Google Domains, etc.)
  • Access to your domain registrar's DNS management panel
  • Your app deployed to at least the Development version in Bubble

Step-by-step guide

1

Add your custom domain in Bubble settings

In the Bubble editor, go to Settings in the left sidebar, then click the Domain / email tab. In the Domain section, enter your custom domain (like www.yourapp.com or app.yourapp.com). Click Add domain. Bubble will display the DNS records you need to configure at your registrar. Copy these values — you will need them in the next step. For a root domain (yourapp.com without www), Bubble provides A record IP addresses. For a subdomain (www.yourapp.com or app.yourapp.com), Bubble provides a CNAME target.

Pro tip: It is easier to use a subdomain (www or app) because CNAME records are simpler to configure and more flexible than A records required for root domains.

Expected result: Your custom domain is added in Bubble settings with DNS record values displayed for configuration.

2

Configure DNS records at your domain registrar

Log in to your domain registrar (GoDaddy, Namecheap, Cloudflare, etc.) and navigate to DNS settings for your domain. For a subdomain like www.yourapp.com: add a CNAME record with Host set to 'www' and Value set to the CNAME target Bubble provided. For a root domain (yourapp.com): add the A records Bubble provided, each pointing to the specified IP address. If you want both root and www to work, set up the root domain A records and add a CNAME for www pointing to the root domain. Set TTL to the lowest available value (300 seconds) to speed up propagation.

Expected result: DNS records are configured at your registrar, pointing your domain to Bubble's servers.

3

Wait for DNS propagation and verify the connection

DNS changes can take 15 minutes to 48 hours to propagate worldwide, though most resolve within 1-2 hours. Go back to Bubble's Settings → Domain tab and click Check DNS or refresh the page. Bubble will indicate whether it can see your DNS records. You can also verify independently using a tool like dnschecker.org — enter your domain and check that the A or CNAME records point to the correct values. If propagation is slow, try flushing your local DNS cache or testing from a different network.

Pro tip: Use dnschecker.org to check propagation status worldwide — it shows which DNS servers have updated and which are still pending.

Expected result: Bubble confirms that your DNS records are correctly configured and points to the right servers.

4

Verify SSL certificate provisioning

Once DNS is verified, Bubble automatically provisions an SSL certificate for your custom domain using Let's Encrypt. This can take a few minutes to a few hours. Check by visiting your domain in a browser — you should see the padlock icon indicating HTTPS is active. If you see SSL errors like ERR_CERT_INVALID or SSL_ERROR_BAD_CERT_DOMAIN, wait 30 minutes and try again. If the error persists, check that you do not have Cloudflare proxy mode (orange cloud) enabled — it can interfere with Bubble's SSL provisioning. Use DNS only mode (grey cloud) in Cloudflare.

Expected result: Your custom domain loads with a valid SSL certificate and the padlock icon appears in the browser.

5

Preserve email DNS records when mapping your domain

If you use email on your domain (like hello@yourapp.com), changing DNS records can break email delivery. Before making changes, note down your existing MX records, SPF records (TXT records starting with v=spf1), DKIM records, and any other email-related DNS entries. After adding Bubble's DNS records, verify that your MX and email TXT records are still intact. If your registrar requires you to replace existing records, make sure to add the email records back alongside the new Bubble records. Test email delivery by sending and receiving a test message.

Expected result: Your custom domain works with Bubble and your email service continues to function without disruption.

6

Set up a redirect from root to www (or vice versa)

If you want yourapp.com to redirect to www.yourapp.com (or the reverse), you need to configure this at the DNS or registrar level since Bubble does not handle automatic redirects between root and www. Most registrars offer URL forwarding or redirect features. Set up a 301 (permanent) redirect from the non-primary version to the primary one. If using Cloudflare, create a Page Rule that redirects yourapp.com/* to https://www.yourapp.com/$1 with a 301 status. This ensures users always land on the correct version and search engines do not see duplicate content.

Expected result: Visiting the non-primary domain version automatically redirects to the primary one with a 301 redirect.

Complete working example

Workflow summary
1DOMAIN MAPPING CONFIGURATION SUMMARY
2=====================================
3
4BUBBLE SETTINGS:
5 Settings Domain / email Add domain
6 Enter: www.yourapp.com (or app.yourapp.com)
7
8DNS RECORDS SUBDOMAIN (www or app):
9 Type: CNAME
10 Host: www (or app)
11 Value: [Bubble-provided CNAME target]
12 TTL: 300
13
14DNS RECORDS ROOT DOMAIN (yourapp.com):
15 Type: A
16 Host: @ (or blank)
17 Value: [Bubble IP address 1]
18 TTL: 300
19
20 Type: A
21 Host: @ (or blank)
22 Value: [Bubble IP address 2]
23 TTL: 300
24
25BOTH ROOT AND WWW:
26 A records for @ Bubble IPs
27 CNAME for www yourapp.com (or Bubble target)
28 Plus redirect from one to the other
29
30EMAIL PRESERVATION:
31 Keep existing records:
32 MX records (email routing)
33 TXT records (SPF: v=spf1...)
34 CNAME records (DKIM)
35 These coexist with Bubble A/CNAME records
36
37SSL CERTIFICATE:
38 Automatic via Let's Encrypt
39 Provisioning time: minutes to hours
40 Troubleshooting:
41 - Wait 30 min for propagation
42 - Disable Cloudflare proxy (use grey cloud)
43 - Check DNS records are correct
44
45REDIRECT SETUP:
46 Option A: Registrar URL forwarding
47 yourapp.com https://www.yourapp.com (301)
48 Option B: Cloudflare Page Rule
49 yourapp.com/* https://www.yourapp.com/$1 (301)
50
51VERIFICATION TOOLS:
52 dnschecker.org check global DNS propagation
53 Browser padlock icon verify SSL is active
54 Bubble Settings Domain tab Check DNS

Common mistakes when setting up domain mapping in Bubble

Why it's a problem: Enabling Cloudflare proxy mode (orange cloud) on the Bubble domain

How to avoid: Set the DNS record to DNS only mode (grey cloud icon) in Cloudflare for your Bubble domain

Why it's a problem: Deleting email MX records when adding Bubble DNS entries

How to avoid: Before making any DNS changes, document all existing email-related records (MX, SPF, DKIM) and ensure they remain after adding Bubble records

Why it's a problem: Not waiting long enough for DNS propagation

How to avoid: Wait at least 1-2 hours before troubleshooting, and use dnschecker.org to monitor propagation progress

Best practices

  • Use a subdomain (www or app) rather than a root domain for simpler DNS configuration
  • Set DNS TTL to the lowest available value (300 seconds) before making changes for faster propagation
  • Document all existing DNS records before making any changes
  • Verify email functionality after DNS changes by sending a test email
  • Use DNS only mode in Cloudflare to avoid SSL conflicts with Bubble
  • Set up a 301 redirect between root and www to prevent duplicate content issues
  • Check dnschecker.org before contacting support — most issues are propagation delays

Still stuck?

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

ChatGPT Prompt

I need to connect my custom domain (purchased on Namecheap) to my Bubble.io app. I also use Google Workspace for email on this domain. Can you help me configure the DNS records correctly without breaking my email?

Bubble Prompt

Help me set up my custom domain for my app. I want www.myapp.com to point to my Bubble app. I also need a redirect from myapp.com to www.myapp.com. Walk me through the Settings configuration and DNS records I need.

Frequently asked questions

Can I use a custom domain on Bubble's free plan?

No. Custom domains require a paid Bubble plan (Starter or higher). On the free plan, your app is accessible only at yourapp.bubbleapps.io.

How long does DNS propagation take?

Most DNS changes propagate within 1-2 hours, but full global propagation can take up to 48 hours. Set your TTL to the lowest value to speed this up.

Why am I getting SSL errors on my custom domain?

The most common cause is Cloudflare proxy mode interfering with Bubble's SSL provisioning. Set the DNS record to DNS only (grey cloud) in Cloudflare. Also ensure DNS has fully propagated — wait at least 30 minutes after setup.

Can I use multiple custom domains with one Bubble app?

Bubble supports one primary custom domain per app. For multiple domains, you can set up 301 redirects from additional domains to your primary domain at the DNS or registrar level.

Will domain mapping break my email?

It can if you accidentally delete MX or email TXT records. Always preserve existing email DNS records (MX, SPF, DKIM) when adding Bubble's A or CNAME records.

Can RapidDev help with domain setup and DNS configuration?

Yes. RapidDev can handle the complete domain mapping process including DNS configuration, SSL verification, email preservation, and redirect setup for your Bubble app.

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.