# Setting up Custom Domains

### About this export

| Field | Value |
| --- | --- |
| **content_type** | lesson |
| **platform** | contentstack-academy |
| **source_url** | https://www.contentstack.com/academy/courses/launch-foundations/setting-up-custom-domains |
| **course_slug** | launch-foundations |
| **lesson_slug** | setting-up-custom-domains |
| **markdown_file_url** | /academy/md/courses/launch-foundations/setting-up-custom-domains.md |
| **generated_at** | 2026-04-28T06:55:46.579Z |

> Part of **[Launch Foundations](https://www.contentstack.com/academy/courses/launch-foundations)** on Contentstack Academy. **Academy MD v3** — structured for retrieval; no quiz or assessment keys.

<!-- ai_metadata: {"lesson_id":"10","type":"text","duration_minutes":1,"topics":["Setting","Custom","Domains"]} -->

#### Lesson text

## Setting up Custom Domains

By default, Launch generates a unique URL of the form example.contentstackapps.com for every environment. Each environment is assigned to a unique subdomain, e.g. example-environment.contentstackapps.com.

For users to easily access your site and remember your site address, you need a human-friendly domain name. You can add a custom domain name to your environment.

**Note:** Custom domains cannot be more than **63 characters** long. For example, example.com, example.org, subdomain.example.in

## Add a Custom Domain

1.  Click the project card to open your project from the Launch landing page.   
    ![Launch\_-\_Projects.png](https://images.contentstack.io/v3/assets/blt2d43f51baca745a8/blt4a98e187b26f92e0/643e30f71a1ec621c9be6010/Launch_-_Projects.png)   
      
    
2.  In the Environments screen, click an existing environment or create a new environment. We will add a custom domain to the Default environment for this tutorial.
    
3.  Hover over the **Default** environment and click the **Environment Settings** icon to go to the Settings page.   
    ![Launch-Env\_Settings.png](https://images.contentstack.io/v3/assets/blt2d43f51baca745a8/blt4411ebf033dcd7c5/643e9879e8b191595dde432a/Launch-Env_Settings.png)   
      
    
4.  Click **Domains** in the **Environments** section.   
      
    ![Launch-CustomDomains-Domains.png](https://images.contentstack.io/v3/assets/blt2d43f51baca745a8/blt413d8e2c3aa082f1/64a65cb5bd5d8a4d8a721355/Launch-CustomDomains-Domains.png)   
      
    
5.  Click the **\+ New Custom Domain** button.
    
6.  Enter your custom domain host URL. For example - example.com
    
7.  Click the copy button to copy the A Record to your clipboard.  
    A Records point to an IP address, usually the one for your hosting account.  
      
    ![Launch-CustomDomains-Modal.png](https://images.contentstack.io/v3/assets/blt2d43f51baca745a8/bltb55b9f822b2530db/64a65cb5f122ca8ff2e6a6e8/Launch-CustomDomains-Modal.png)  
      
    
8.  Click the **Save** button.
    
9.  Paste the copied A record to your domain provider platform.
    
    Below are some documentation links to common DNS providers for adding the A record.
    
    1.  [Go-Daddy](https://in.godaddy.com/help/add-an-a-record-19238)
        
    2.  [Bluehost](https://www.bluehost.com/help/article/dns-management-add-edit-or-delete-dns-entries)
        
    3.  [Namecheap](https://www.namecheap.com/support/knowledgebase/article.aspx/319/2237/how-can-i-set-up-an-a-address-record-for-my-domain/)  
        Depending on your domain provider, these changes can take up to 48 hours to take effect.
        
    
10.  Click the **Edit** or **Delete** button to edit or delete the custom domains.   
       
       
     ![Launch-CustomDomains-EditDelete.png](https://images.contentstack.io/v3/assets/blt2d43f51baca745a8/blt467eb1bf2091d3e4/64a65cb58f332a585b544482/Launch-CustomDomains-EditDelete.png) 
     

##   
Add a Custom Subdomain 

Launch allows you to add custom subdomains to your environments. 

Follow the steps below to add a custom subdomain to your existing domain. In this example, we are creating a subdomain for the domain example.com which was created in the previous steps.

1.  Click the **\+ New Custom Domain** button.  
      
    ![Launch-CustomDomains-SubDomain.png](https://images.contentstack.io/v3/assets/blt2d43f51baca745a8/blt7c451fd539aa8a68/64a65cb538fe4362c46ab857/Launch-CustomDomains-SubDomain.png)  
      
    
2.  In the **Domain Name** field, enter the subdomain name as given in the following format: .  
    For example: app.example.com  
    After entering the subdomain name, the DNS Details get auto-populated as shown below:  
      
    ![Launch-CustomDomains-SubDomain\_Modal.png](https://images.contentstack.io/v3/assets/blt2d43f51baca745a8/blt7b9dfed7c1ff9772/64a65cb58f332aab62544486/Launch-CustomDomains-SubDomain_Modal.png)  
      
    The Value field displays the default subdomain.
    
    **Note:** The DNS details are different for the apex domain and the custom subdomain.
    
3.  Click the copy button next to the **Name** and **Value** fields to copy the CNAME record details.  
      
    ![Launch-CustomDomains-SubDomain\_Modal\_CNAME.png](https://images.contentstack.io/v3/assets/blt2d43f51baca745a8/blt1867f7794c9a2bd3/64a65cb6ade08c96c8cb1697/Launch-CustomDomains-SubDomain_Modal_CNAME.png)  
      
    
4.  Paste the copied CNAME record details to your domain provider platform.  
    Below are some documentation links to common DNS providers for adding the CNAME record:
    
    1.  [Go-Daddy](https://in.godaddy.com/help/add-a-cname-record-19236)
        
    2.  [Bluehost](https://www.namecheap.com/support/knowledgebase/article.aspx/9646/2237/how-to-create-a-cname-record-for-your-domain/)
        
    3.  [Namecheap](https://www.namecheap.com/support/knowledgebase/article.aspx/9646/2237/how-to-create-a-cname-record-for-your-domain/)
        
        Depending on your domain provider, these changes can take up to 48 hours to take effect.
        
    
5.  Click the **\+ Create Custom Domain** button.  
    You can see the newly created subdomain listed in the Domains page.  
      
    ![Launch-CustomDomains-SubDomains.png](https://images.contentstack.io/v3/assets/blt2d43f51baca745a8/blt63db2e44b992d86d/64a65cb6ad2e9fd93a0011b5/Launch-CustomDomains-SubDomains.png)

#### Key takeaways

- Connect **Setting up Custom Domains** back to your stack configuration before moving to the next module.
- Capture one concrete artifact (screenshot, Postman call, or code snippet) that proves the step works in your environment.
- Re-read the delivery versus management boundary for anything you changed in the entry model.

## Supplement for indexing

### Content summary

Setting up Custom Domains. Setting up Custom Domains By default, Launch generates a unique URL of the form example.contentstackapps.com for every environment. Each environment is assigned to a unique subdomain, e.g. example-environment.contentstackapps.com. For users to easily access your site and remember your site address, you need a human-friendly domain name. You can add a custom domain name to your environment. Note: Custom domains cannot be more than 63 characters long. For example, example.com, example.org, subdomain.example.in Add a Custom Domain 1. Click the project card to open your project from the Launch landing page. ! Launch\ -\ Projects.png (https://images.contentstack.io/v3/assets/blt2d43f51baca745a8/b

### Retrieval tags

- Setting
- Custom
- Domains
- launch-foundations
- lesson 10
- Setting up Custom Domains
- launch-foundations lesson

### Indexing notes

Index this lesson as a primary chunk tagged with lesson_id "10" and topics: [Setting, Custom, Domains].
Parent course slug: launch-foundations. Use asset_references URLs as thumbnail hints in search results when present.
Never surface LMS quiz content or assessment answers from this file.

### Asset references

| Label | URL |
| --- | --- |
| Launch\_-\_Projects.png | `https://images.contentstack.io/v3/assets/blt2d43f51baca745a8/blt4a98e187b26f92e0/643e30f71a1ec621c9be6010/Launch_-_Projects.png` |
| Launch-Env\_Settings.png | `https://images.contentstack.io/v3/assets/blt2d43f51baca745a8/blt4411ebf033dcd7c5/643e9879e8b191595dde432a/Launch-Env_Settings.png` |
| Launch-CustomDomains-Domains.png | `https://images.contentstack.io/v3/assets/blt2d43f51baca745a8/blt413d8e2c3aa082f1/64a65cb5bd5d8a4d8a721355/Launch-CustomDomains-Domains.png` |
| Launch-CustomDomains-Modal.png | `https://images.contentstack.io/v3/assets/blt2d43f51baca745a8/bltb55b9f822b2530db/64a65cb5f122ca8ff2e6a6e8/Launch-CustomDomains-Modal.png` |
| Launch-CustomDomains-EditDelete.png | `https://images.contentstack.io/v3/assets/blt2d43f51baca745a8/blt467eb1bf2091d3e4/64a65cb58f332a585b544482/Launch-CustomDomains-EditDelete.png` |
| Launch-CustomDomains-SubDomain.png | `https://images.contentstack.io/v3/assets/blt2d43f51baca745a8/blt7c451fd539aa8a68/64a65cb538fe4362c46ab857/Launch-CustomDomains-SubDomain.png` |
| Launch-CustomDomains-SubDomain\_Modal.png | `https://images.contentstack.io/v3/assets/blt2d43f51baca745a8/blt7b9dfed7c1ff9772/64a65cb58f332aab62544486/Launch-CustomDomains-SubDomain_Modal.png` |
| Launch-CustomDomains-SubDomain\_Modal\_CNAME.png | `https://images.contentstack.io/v3/assets/blt2d43f51baca745a8/blt1867f7794c9a2bd3/64a65cb6ade08c96c8cb1697/Launch-CustomDomains-SubDomain_Modal_CNAME.png` |
| Launch-CustomDomains-SubDomains.png | `https://images.contentstack.io/v3/assets/blt2d43f51baca745a8/blt63db2e44b992d86d/64a65cb6ad2e9fd93a0011b5/Launch-CustomDomains-SubDomains.png` |

### External links

| Label | URL |
| --- | --- |
| Contentstack Academy home | `https://www.contentstack.com/academy/` |
| Training instance setup | `https://www.contentstack.com/academy/training-instance` |
| Academy playground (GitHub) | `https://github.com/contentstack/contentstack-academy-playground` |
| Contentstack documentation | `https://www.contentstack.com/docs/` |
| Launch\_-\_Projects.png | `https://images.contentstack.io/v3/assets/blt2d43f51baca745a8/blt4a98e187b26f92e0/643e30f71a1ec621c9be6010/Launch_-_Projects.png` |
| Launch-Env\_Settings.png | `https://images.contentstack.io/v3/assets/blt2d43f51baca745a8/blt4411ebf033dcd7c5/643e9879e8b191595dde432a/Launch-Env_Settings.png` |
| Launch-CustomDomains-Domains.png | `https://images.contentstack.io/v3/assets/blt2d43f51baca745a8/blt413d8e2c3aa082f1/64a65cb5bd5d8a4d8a721355/Launch-CustomDomains-Domains.png` |
| Launch-CustomDomains-Modal.png | `https://images.contentstack.io/v3/assets/blt2d43f51baca745a8/bltb55b9f822b2530db/64a65cb5f122ca8ff2e6a6e8/Launch-CustomDomains-Modal.png` |
| Go-Daddy | `https://in.godaddy.com/help/add-an-a-record-19238` |
| Bluehost | `https://www.bluehost.com/help/article/dns-management-add-edit-or-delete-dns-entries` |
| Namecheap | `https://www.namecheap.com/support/knowledgebase/article.aspx/319/2237/how-can-i-set-up-an-a-address-record-for-my-domain/` |
| Launch-CustomDomains-EditDelete.png | `https://images.contentstack.io/v3/assets/blt2d43f51baca745a8/blt467eb1bf2091d3e4/64a65cb58f332a585b544482/Launch-CustomDomains-EditDelete.png` |
| Launch-CustomDomains-SubDomain.png | `https://images.contentstack.io/v3/assets/blt2d43f51baca745a8/blt7c451fd539aa8a68/64a65cb538fe4362c46ab857/Launch-CustomDomains-SubDomain.png` |
| Launch-CustomDomains-SubDomain\_Modal.png | `https://images.contentstack.io/v3/assets/blt2d43f51baca745a8/blt7b9dfed7c1ff9772/64a65cb58f332aab62544486/Launch-CustomDomains-SubDomain_Modal.png` |
| Launch-CustomDomains-SubDomain\_Modal\_CNAME.png | `https://images.contentstack.io/v3/assets/blt2d43f51baca745a8/blt1867f7794c9a2bd3/64a65cb6ade08c96c8cb1697/Launch-CustomDomains-SubDomain_Modal_CNAME.png` |
| Go-Daddy | `https://in.godaddy.com/help/add-a-cname-record-19236` |
| Bluehost | `https://www.namecheap.com/support/knowledgebase/article.aspx/9646/2237/how-to-create-a-cname-record-for-your-domain/` |
| Launch-CustomDomains-SubDomains.png | `https://images.contentstack.io/v3/assets/blt2d43f51baca745a8/blt63db2e44b992d86d/64a65cb6ad2e9fd93a0011b5/Launch-CustomDomains-SubDomains.png` |
