Bubble Docs
  • Introduction
  • New? Start Here
  • What is Bubble?
  • The Glossary
  • User manual
    • Getting started
      • What is Bubble?
      • Building your first app
        • Planning features
        • Database structure
        • Design and UX
        • eCommerce and payments
          • Shopping cart
          • Checkout page
          • One-time payments
          • Subscriptions
          • Marketplace
      • Creating and managing apps
      • The Bubble editor
        • Tabs and sections
          • Design tab
            • The element tree
            • The property editor
          • Workflow tab
          • Data tab
          • Styles tab
          • Plugins tab
          • Settings tab
            • Application settings
              • Custom headers/body
              • Visual settings
              • Social media sharing
              • Translating your app
              • Email settings
              • Collaboration
            • Custom domain and DNS
          • Logs tab
        • Tools
          • Key features
          • The search tool
          • The Issue Checker
          • The element tree
          • The element property editor
          • The debugger
          • Notes
        • Previewing your app
      • Transitioning to Bubble from...
        • JavaScript
        • HTML and CSS
        • SQL
    • Design
      • Elements
        • The element hierarchy
          • The element tree
        • The page
        • Containers
          • Groups
          • Repeating groups
          • Table elements
          • Popups
          • Floating groups
          • Group focus
        • Visual elements
        • Input forms
          • Text and numbers
          • Dates and time
          • File uploads
          • Selection controls
        • Reusable Elements
      • Styling
        • Color variables
        • Font variables
        • Styles
        • Custom Fonts
      • Responsive design
        • Building responsive pages
        • Legacy articles
          • The Basics (Legacy)
          • Building Responsive Pages (Legacy)
          • Migrating Legacy Pages
          • Tips When Designing (Legacy)
      • Templates
      • The Component Library
      • Importing from Figma
    • Data
      • The database
        • Data types and fields
        • Creating, saving and deleting data
        • Finding data
        • Displaying data
        • Protecting data with privacy rules
        • The database editor
        • Export/import data
          • Exporting data
          • Importing data (CSV)
        • Working with location data
        • Using Algolia
        • Database structure by app type
          • Marketplace Apps
          • Directory & Listings Apps
          • Social Network Apps
          • SaaS Apps
          • Project Management Apps
          • CRM Apps
          • Professional Services Apps
          • On-demand Apps
          • Documentation/ CMS Apps
          • Applicant Tracking System (ATS) Apps
          • Portfolio Apps
          • Gallery Apps
          • Online Store / Ecommerce Apps
          • Blog Apps
          • Messaging App
          • Dashboards
          • Building Block Apps
          • Bubble as a backend
      • Files
      • Images
      • Static data
        • App texts (translations)
        • Option sets
      • Temporary data
        • Custom states
        • URL parameters
      • User accounts
        • Authentication plugins
          • Facebook plugin
          • Fitbit plugin
          • Google plugin
          • Instagram plugin
          • LinkedIn plugin
          • Pinterest plugin
          • Slack plugin
          • Wistia plugin
          • YouTube plugin
        • Cookies set by Bubble
      • Time, dates and time zones
    • Logic
      • The frontend and backend
      • Workflows
        • Events
          • Frontend events
            • Recurring workflows
            • Custom events
          • Backend events
            • Database trigger events
        • Actions
        • API Workflows
      • Dynamic expressions
      • Conditions
      • Navigation
        • Single-page applications (SPA)
        • Multi-page applications
        • Page slugs
    • Workload
      • Understanding workload
        • Activity types
        • The workload calculation
        • Client-side and server-side processing
      • Tracking workload
        • Measuring
          • Using App Metrics
        • Monitoring
          • Workload notifications
          • Infinite recursion protection
      • Optimizing workload
        • Optimization framework
        • Optimization checklist
          • Page load
          • Searches
          • Workflows and actions
          • Backend workflows
        • Agency showcases
          • Minimum Studio
          • Neam
          • Support Dept
    • Security
      • Bubble's security features
      • Planning app security
      • Client-side and server-side
      • Bubble account security
      • App security
      • Page security
      • Database security
      • API security
        • API Connector security
        • Data API security
        • Workflow API security
      • Flusk
        • Overview
        • Flusk plan features
        • Getting started with Flusk
        • Flusk security tools
          • The Issues Explorer
          • Issue details
          • Tools and settings
            • Pages rating
            • Database rating
        • Flusk FAQ
      • Cookies
      • Security checklist
    • Publishing your app
      • Web app
      • Native mobile app
        • Global native mobile settings
        • iOS App Store
        • Google Play Store
        • Publishing FAQ
    • AI
      • Generate apps with AI
        • About AI app generation
      • AI page designer
      • Connect to AI agents
    • Maintenance
      • Collaborators
      • Version control
        • Best practices: Version control
        • Transitioning from the legacy version control
        • Terminology: Version control
        • Version Control (legacy)
      • Commenting
      • Database maintenance
        • Copying the database
        • Restoring database backups
        • Bulk operations
          • Bulk operation methods compared
        • Wiping change history
      • Performance
        • Hard limits
        • Capacity Usage (legacy)
        • Notes on queries
      • SEO
        • Introduction to SEO
        • SEO: App
        • SEO: Page
      • Testing and debugging
        • Introduction to testing and debugging
        • The debugger
        • The server logs
        • Supported browsers
      • API workflow scheduler
    • Integrations
      • API
        • Introduction to APIs
          • What is a RESTful API?
        • The Bubble API
          • Bubble API terminology
          • Authentication
            • How to authenticate
            • No authentication
            • As a User
            • As an admin
          • The Data API
            • Data API Privacy Rules
            • Data API endpoints
            • Data API requests
          • The Workflow API
            • Workflow API privacy rules
            • Workflow API endpoints
            • API workflows
              • Creating API workflows
              • Scheduling API workflows
              • Recursive API workflows
              • API Workflow Scheduler
              • Case: Stripe notifications
        • The API Connector
          • Authentication
          • API Connector security
          • API guides
            • OpenAI
              • Authentication
              • Calls
                • ChatGPT
                  • Chat
            • Google Translate
              • How to setup Google API keys
          • Streaming API
        • API security
        • Plugins that connect to APIs
        • API Glossary
      • Plugins
        • What Plugins Can Do
        • Installing and using Plugins
        • Authentication plugins
        • Special Plugins
      • SQL Database Connector
      • Bubble App Connector
      • WorkOS
        • WorkOS SSO
        • WorkOS API
    • Infrastructure
      • Sub-apps
      • Bubble release tiers
      • Hosting and scaling
        • How Bubble hosting works
        • Scaling with Bubble
        • CDN (Cloudflare)
        • Bubble app names
        • Domain and DNS
      • Compliance
        • GDPR
        • SOC 2 Type II
        • HIPAA
        • Other frameworks and standards
    • Bubble for Enterprise
      • Hosting and infrastructure
        • Dedicated instance
          • The Dedicated editor experience
          • Technical specs
          • Main cluster dependencies
          • Customizable options
          • Migration process
            • Pre-migration
            • During migration
            • Post-migration
      • Security and compliance
        • Single sign-on (SSO)
        • GDPR
        • SOC 2 Type II
        • HIPAA
        • Other frameworks
        • Bubble's security features
      • Admin and collaboration
      • Priority support
      • Billing and Payment Guideline for Dedicated Instances
  • Core Reference
    • Using the core reference
    • Bubble's Interface
      • Design tab
      • Design tab (Legacy)
      • Workflow tab
      • Data tab
      • Styles tab
      • Styles tab (Legacy)
      • Plugins tab
      • Settings tab
      • Logs tab
      • Template tab
      • Toolbar
      • Top and context menu options
      • Deployment and version control
        • Deployment & Version Control Dropdown (legacy)
      • Notes
    • Elements
      • General properties
      • General properties (Legacy)
      • Styling properties
      • Styling Properties (Legacy)
      • Responsive Properties
      • Responsive Properties (Legacy)
      • Conditional formatting
      • States
      • Page Element
        • Page Element (Legacy)
      • Visual Elements
      • Containers
      • Container Layout Types
      • Containers (Legacy)
      • Input Forms
      • Reusable Elements
      • Element Templates (legacy)
    • Workflows
    • Events
      • General events
      • Element events
      • Custom events
      • Recurring event
      • Database trigger event
    • Actions
      • Account
      • Navigation
      • Data (things)
      • Email
      • Element
      • Custom
    • Data
      • Data Sources
      • Operators and comparisons
      • Search
      • Privacy
    • Styles
    • API
      • The Bubble API
        • The Data API
          • Authentication
          • Data API endpoints
          • Data API requests
        • The Workflow API
      • The API Connector
        • Authentication
        • Adding calls
    • Bubble-made Plugins
      • AddtoAny Share Buttons
      • Airtable
      • API Connector
      • Blockspring
      • Box
      • Braintree
      • Bubble App Connector
      • Chart.js
      • Circle Music Player
      • Draggable Elements
      • Dropzone
      • Facebook
      • Fitbit
      • Full Calendar
      • Google
      • Google Analytics
      • Google Optimize
      • Google Places
      • Ionic Elements
      • iTunes
      • Slidebar Menu
      • LinkedIn
      • Localize Translation
      • Mixpanel
      • Mouse & Keyboard Interactions
      • Multiselect Dropdown
      • Progress Bar
      • Rich Text Editor
      • Rich Text Editor (Legacy)
      • Screenshotlayer
      • SelectPDF
      • Slack
      • Segment
      • Slick Slideshow
      • SQL Database Connector
      • Star Rating
      • Stripe
      • Tinder-like Element
      • Twitter
      • YouTube
      • Zapier
    • Application Settings
      • App plan
      • General
      • Domain / email
      • Languages
      • SEO / metatags
      • API
      • Collaboration
      • Sub-apps
      • Versions
  • Account & Marketplace
    • Account and billing
      • Pricing and plans
        • Plans and billing
        • Billing cycle
        • FAQ: Pricing and Workload
      • Account Management
      • Building Apps for Others
      • Selling on the Marketplace
      • Plans & Billing (legacy)
    • Official Bubble Certification
      • Hiring certified developers
    • Building Plugins
      • The Plugin Editor
      • General Settings
      • Updating to Plugin API v4
      • Adding API Connections
      • Building Elements
      • Building Actions
      • Loading Data
      • Publishing and versioning
      • Github Integration
    • Building Templates
    • Application and data ownership
    • Marketplace policies
    • Bug reports
  • Beta features
    • About the Beta features section
    • Native mobile apps 🔒
      • Introduction
        • What is a native mobile app?
        • Native mobile vs. web development
        • Differences in native and web elements
        • Native mobile app terminology
      • Building
        • Views and navigation
        • Native mobile actions
        • Components and gestures
        • Device resources
          • Location services
          • Camera/photo library
      • Previewing
      • Publishing
Powered by GitBook
On this page
  • What does it mean to connect to a custom domain?
  • Example.com versus www.example.com
  • Connecting a domain
  • Step 1: Register the domain
  • Step 2: Add the domain in Bubble
  • Step 3. Change the DNS settings
  • Propagating the changes
  • Checking the DNS settings
  • Setting up a subdomain
  • Changing/removing a domain
  • SSL encryption (HTTPS)
  • Setting up TLS (SSL)
  • FAQ: Domain and DNS
  • Other ways to learn

Was this helpful?

  1. User manual
  2. Getting started
  3. The Bubble editor
  4. Tabs and sections
  5. Settings tab

Custom domain and DNS

Last updated 2 months ago

Was this helpful?

When an app is created, Bubble uses the name you provide to generate a unique URL where you can run of your app. For example, if your app has the name my-bubble-application, Bubble generates the URLs below:

https://my-bubble-application.bubbleapps.io
https://my-bubble-application.bubbleapps.io/version-test/

What does it mean to connect to a custom domain?

Each individual app can only be connected to one domain or subdomain. If you need to use multiple domains or subdomains, consider utilizing the sub-app feature.

Article:

Setting up a custom web domain means configuring your app to be accessed through a specific domain name that you've chosen, rather than the default address provided by Bubble. This involves registering a unique domain name (like ) and then linking it to your website. In that sense, the domain makes up the "root" of all your app's URL's.

Connecting to a custom domain means to customize your site’s URL, making it more recognizable and often more professional-looking, reflecting your brand or the app's purpose more accurately.

Setting up a custom domain is done in three steps:

The is to buy the domain you want, and register it with a .

Then, you (such as www.example.com) in the Bubble editor.

After registering the domain in Bubble, we will provide you with DNS settings that you need to register with your registrar.

Example.com versus www.example.com

Most apps and websites are expected to load regardless of whether the user types in example.com or www.example.com as the URL. For Bubble automatically redirects one to the other, depending on which one you entered as your app's custom domain.

For example:

Your custom URL
User types
Redirects to

example.com

https//www.example.com

https//example.com

www.example.com

https//example.com

https//www.example.com

Connecting a domain

Step 1: Register the domain

Many registrars also offer hosting, meaning that they'll show you a price for the domain, and for a hosting period (typically a year or more). Since Bubble apps are hosted on Bubble's server, you don't need to purchase hosting as well. Make sure you only pay for the domain.

Domains are purchased from a company known as a domain registrar. Once it has been purchased, it becomes your unique identifier on the web, and no one can register the same domain as you. Many domains are registered for the first time, but there's also a market for buying existing domains that ranges from a few US dollars to several million.

Domain registrars

Registrars are accredited entities that manage the reservation of domain names. There are many different providers and in the list below you'll find some of the biggest ones:

Bubble is not responsible for the content, accuracy, or practices of third-party websites or services that are linked from our platform and website. We provide these links for your convenience. Always review the terms and conditions and privacy policies of any third-party websites or services that you visit.

Users access your app by typing its domain into their browser's address bar. Think of it as the digital equivalent of your physical address - it's how people find you on the internet.

Step 2: Add the domain in Bubble

It doesn't matter which registrar you have used when you want to configure it in Bubble, as long as you have access to make changes to the .

To set up the domain with your app, do the following:

  1. Navigate to the Settings tab and Domain/email sub-tab.

  2. Enter the domain you purchased in step 1 in the Domain name input

  3. Click Set up this domain

When you've completed these steps, Bubble will show you the DNS records that you need for step 3. Typically, they look something like this:

Do not use the IP addresses below – they are only meant as an illustration. Use the IP addresses that Bubble provides in the Domain subtab.

Type
Name
Value

A

104.16.36.105

A

104.16.42.105

A

104.19.240.93

A

104.19.241.93

A

www

104.16.36.105

A

www

104.16.42.105

A

www

104.19.240.93

A

www

104.19.241.93

This table outlines the DNS A record configurations with their respective types, names, and values.

What are "Type A" records?

A records, or Address Records, are a fundamental part of DNS (Domain Name System).

Why are there so many similar records?

Multiple IP addresses

Having multiple IP address values for a domain in DNS settings provides redundancy and load balancing:

  • Redundancy ensures that if one server (or IP address) becomes unavailable, others can take over, maintaining the accessibility of your app.

  • Load balancing distributes traffic across several servers, improving app performance and reducing the chance of overloading a single server.

This setup enhances the reliability and efficiency of hosting your app. You only need to set the DNS records once.

Domain prefix

In the example above, you'll see that we link to four different records two times (one blank and one with www). This means that both https://my-app.com and https://www.my-app.com will properly redirect to your app.

Step 3. Change the DNS settings

After obtaining the DNS details, there's no need to make any more adjustments within Bubble. Your next steps should be carried out in the domain registrar service where your domain is managed.

  1. Look for the DNS settings or DNS Zone File within your registrar’s dashboard.

  2. Replace them with the records provided earlier. Note that . Proceed by adding the records accordingly.

Propagating the changes

After setting up the DNS records, the new settings need to propagate across the internet. This can take up to 24 hours, but usually you should see some results after 2-4 hours, and sometimes faster.

Why do DNS settings need time to propagate?

For those new to the concept, let's talk about why DNS settings need time to propagate.

DNS stands for Domain Name System, which is essentially the phonebook of the internet. It's a system that translates human-friendly domain names like "bubble.io" into IP addresses like "192.0.2.1" that computers use to communicate with each other.

Now, imagine if every time you needed a phone number, you had to look it up in a giant phone book that contains every number in the world. It would be incredibly slow. To make this process faster, various systems and networks around the world keep their own local copies of parts of this “phonebook”.

When you update your DNS settings, this change needs to be reflected in all those local copies (DNS servers). This process is known as propagation.

However, since these copies are not all updated instantly (they refresh at different intervals), it takes time for them all to catch up with the change. This is why you might not see your website immediately after you've made changes to its DNS settings, and why sometimes your friend in another country can see the changes sooner or later than you can.

Typically, DNS propagation can take anywhere from a few minutes to 48 hours, depending on various factors including the settings of the DNS servers and how often they are set to update their records.

The propagation process is up to the registrar, and cannot be affected by Bubble.

Checking the DNS settings

Bubble lets you check the success of the operation below the records, and you can check the process by clicking on the Check my settings button. If you encounter an error, it could indicate that the records have not been configured correctly, or that the changes have not yet propagated through the system. See our FAQ below for possible solutions to common errors.

As soon as a domain is properly configured, all requests to yourapp.bubbleapps.io will automatically be redirected to yourdomain.com. This applies to both the Live and Development anvironment.

Setting up a subdomain

What is a subdomain?

Imagine a website being like an office building, and the domain name is the building's address. A subdomain is like a specific department or section within that building, with its own unique identifier.

In more technical terms, a domain is the main web address you use to reach a website (like bubble.io). A subdomain is an additional part added to the front of the domain, separated by a dot. For instance, support.yourapp.com could be the subdomain for the customer support section of your main app located on yourapp.com.

This way, you can organize different parts of the app (like having separate areas for blog posts, customer support, legal documentation and product pages), all while still being connected to the main domain.

If you already are using a domain and would like to use a subdomain to point to your Bubble app (for instance, app.yourapp.com). The steps are mostly identical to the above, with just a few changes:

When you purchase a domain name, you gain the rights to create subdomains within it, and you don't need to buy these subdomains separately.

Subdomains, like blog.example.com or shop.example.com, are part of the main domain (example.com) and can be set up directly through your domain registrar's website.

Instead of adding the main domain ( such as www.example.com), you enter the URL that includes the subdomain (such as app.example.com or dashboard.example.com).

Changing/removing a domain

If you need to change your domain, you first need to remove the current domain. Clicking on 'delete this domain name' will terminate the connection between the application and the domain.

Note that your domain will still point to Bubble's server until you remove the DNS records in the registrar service. A Bubble page will be displayed with a message indicating there is no app linked to this domain. Once you have removed the domain, you can add a new domain as described above.

Note that if you remove a domain and want to use an appname.bubbleapps.io domain as initially happens, you may have to clear the browser cache, as the redirection is usually cached at the browser level.

Will a domain change affect uploaded file URLs and dynamic URL expressions?

A domain change, once complete, should not effect or render invalid any dynamic URL expressions. Uploaded files are stored on S3/appforest rather than on the domain directly, so everything should redirect appropriately.

SSL encryption (HTTPS)

For all apps created after October 2019, TLS is mandatory and this setting cannot be changed. The below section is only relevant for apps that were created before this.

All apps hosted on a bubbleapps.io subdomain are already automatically set up with TLS, and this setting can't be changed.

Setting up TLS (SSL)

What is TLS and SSL?

TLS (Transport Layer Security) and SSL (Secure Sockets Layer) are cryptographic protocols designed to provide secure communication over a computer network, such as between the Bubble server and the devices of you and your users.

TLS is the newer version of SSL and offers enhanced security features, but SSL as a term is still often used interchangeably with 'TLS' in everyday language. In practice, SSL is considered deprecated today, and Bubble uses TLS for all connections.

This encryption is applied both to your app and to the Bubble editor, making data secure while it's in transit between the server and device.

Once you have properly configured your domain and that Bubble has validated the A records, you can start the process. To have TLS activated on your site, enable the checkbox.

This change can take up to one hour to propagate. For customers using Cloudflare, SSL is mandatory.

FAQ: Domain and DNS

How long does it take for my domain to move to Cloudflare?

Two minutes to several hours, depending on how long your DNS records take to update.

The moment you register your custom domain with Bubble and Cloudflare, your domain is registered with both services. In order for it to work correctly, Cloudflare needs to validate that your DNS entries point to their servers.

When you update your DNS records (adding, removing, or renaming a record), the length of time they stay available is determined by the record's TTL (time-to-live) value.

Let's say you change a record at your registrar, and that record has a TTL of 1 hour. After 1 hour, you can be certain that that server is reporting your new record to the internet. However, there are many name servers on the internet, and all of them will need to have your most up-to-date record. On average, you can expect your records to be broadcast across the internet within twice the length of your TTL. So if your TTL is 1 hour, expect your record to be everywhere after 2 hours.

Once your record has been updated everywhere, Cloudflare will be able to verify that you own the domain, and your app will become active.

Why are my users are getting "This Connection is Not Secure" errors?

Cloudflare has not validated your domain yet.

If you click on "Advanced" and then look at the certificate details, and the certificate is of the form ssl123456.cloudflare.net, your DNS entry is pointing to the correct place, but Cloudflare has not validated your domain yet. Please wait an hour and check again.

How do I know my site is working on Cloudflare?

There are several tools.

When you've changed your domain records, you can go to the A record tab to check to see if your A record has propagated.

mywebpage.us. 299 IN A 104.19.241.93
mywebpage.us. 299 IN A 104.19.240.93

The output should look somewhat like this:

fl=xxxxx
h=bubble.io
ip=xxx.xxx.xxx.xxx
ts=1572657558.41
visit_scheme=http
uag=Mozilla/5.0 [...]
colo=EWR
http=http/1.1
loc=US
tls=off
sni=off
warp=off
I've followed all the instructions here, and I still get "This Connection is Not Secure."

It's possible that we cannot issue SSL certificates on your domain. You will have to remove your CAA record and try again.

For instance, when you look up google.com with this tool, you can see the following record:

id 61662
opcode QUERY
rcode NOERROR
flags QR RD RA
;QUESTION
google.com. IN CAA
;ANSWER
google.com. 21599 IN CAA 0 issue "pki.goog"
;AUTHORITY
;ADDITIONAL

This means that only pki.goog is allowed to issue certificates for sites across the google.com domain.

SSL Certificate issuance is a critical part of making your site work on Bubble and Cloudflare, so if you find a CAA record, delete it. Your site should begin working in a matter of minutes.

I'm getting 525 errors on my site.

Wait an hour and check again.

If you are a Legacy Customer who wasn't using SSL prior to switching over to Cloudflare, some of Bubble's servers won't have your updated certificate available to them. A 525 error happens when the Origin Server (where your app is hosted on Bubble) serves nonsecure content (http) to a server that is expecting secure content (https). We refresh your SSL and certificate settings on all servers once per hour, so if you've recently changed your settings wait and try again.

I'm getting 1001 errors.

Verify your A records, wait two hours, and check again.

Cloudflare has to verify that your A records are pointing to Bubble's IPs. If you're sure your A records are correct, Cloudflare will schedule a re-check of your records for several days (starting at 1 minute intervals, increasing to a maximum of 2 hours between checks). If, after 2 hours, your site is still showing 1001 errors, go to Bubble, delete your custom domain, wait one minute, and re-create it.

I am getting 1014 errors

If you're using Cloudflare for DNS, turn off proxying.

The most common cause of 1014 errors is when you're using Cloudflare for DNS, and you're using an "orange cloud" (proxy) setting. Click the orange cloud to turn off proxying (resulting in a grey cloud).

I am a Legacy Customer; what should I do to temporarily disable Cloudflare?

If you're having problems that you think might be caused by Cloudflare, you can temporarily disable Cloudflare by changing your DNS records from A 104.xxx.xxx.xxx to the A record you were previously assigned.

When you've identified what the problem was and are ready to turn Cloudflare back on, delete the A record and replace it with the A records Bubble provided you.

Other ways to learn

Video lessons
Relevant articles

Since the loading of a web page is technically one or more API calls between the server and device, this section on APIs covers the technical basics of what's going on in during a requests and response.

Using a domain that incorporates the term bubble, such as , is not permitted for a custom domain in Bubble. This is because it violates our terms of service. Custom domains must avoid using 'bubble' to maintain compliance with our guidelines.

Page:

GoDaddy -

Namecheap -

Bluehost -

HostGator -

Google Domains -

DreamHost -

1&1 IONOS -

Network Solutions -

Dynadot -

Register.com -

They map a domain name to its corresponding IP address, which is a numerical label assigned to each device on a network. This mapping allows users to access websites using familiar domain names (like ) rather than numeric IP addresses. A records are essential for directing internet traffic and making the web user-friendly.

In this section, remove any existing that have an empty name ('') or www

Navigating this process can get somewhat technical, as the interface varies between registrars. If you need some guidance, it’s a good idea to contact your registrar’s customer support. Also, feel free to seek advice on the , as there’s a good chance another user has experience with the same registrar and can offer helpful insights.

After registering the subdomain in Bubble, we will provide you with DNS settings that you need to register with your registrar. Registering them is done in the same way as , but note that the DNS records will be different.

The first, to check to see if your domain records have propagated, is the .

You can also take advantage of a service like , which tests your custom domain from many locations all over the world. It's not uncommon to see a few blank entries on this page; what you're looking for is any records that return an error (red X) or different results than you are expecting.

Cloudflare serves a page on a certain route on every site hosted on their domain at /cdn-cgi/trace. You can see bubble's page at ; replace 'bubble.io' with your own custom domain (once it loads) to see if it's working.

Go to the Google DNS lookup tool's and check to see if your bare domain (e.g. example.com) has a CAA record. A CAA record restricts which certificate providers can issue certificates for your domain. (Only about 1% of Bubble apps have a CAA record.)

www.bubbleagency.com
Terms of service
https://www.godaddy.com
https://www.namecheap.com
https://www.bluehost.com
https://www.hostgator.com
https://domains.google
https://www.dreamhost.com
https://www.ionos.com
https://www.networksolutions.com
https://www.dynadot.com
https://www.register.com
www.example.com
forum
Google DNS lookup tool
What's my DNS
bubble.io/cdn-cgi/trace
CAA tab
How to set up a custom domain
What is a RESTful API?
Sub-apps
www.example.com
first step
add that domain
A records
described earlier