> For the complete documentation index, see [llms.txt](https://docs.peakcommerce.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.peakcommerce.com/guides/feature-guides/build-and-launch/guide-custom-domains-for-your-portals.md).

# Serving Portals and Pages on Your Own Domain

### Overview

By default your portals and journeys are served from a PeakCommerce address. With **custom domains** you serve them from your own branded hostnames instead — so customers and staff see *your* brand in the URL, end to end. You register a hostname, point your DNS at the records PeakCommerce gives you, and the platform verifies the domain and provisions the SSL certificate until it's live.

This guide covers the full lifecycle: registering a hostname, the DNS records to create, verification and SSL, and the lighter-weight **subdomain mapping** option.

### Before you begin

* You can create DNS records at your domain registrar (or your DNS provider).
* You know which **experience** the hostname should route to — your **customer portal**, **partner portal**, a **journey**, a **storefront**, or a **payment** page.
* You're an admin who can open **Settings** (from your **user menu** in the bottom-left corner → **Settings → Domains**).

### Custom Domains vs. Subdomain Mappings

PeakCommerce offers two ways to brand a host, both under **Settings → Domains**:

* **Custom Domains** — a fully custom branded hostname (for example `account.yourbrand.com`) with its own certificate. Use this for your primary, customer-facing portal and checkout hosts.
* **Subdomain Mappings** — route a subdomain to an experience on the **shared platform** without standing up a fully custom certificate. Use this for quick branded entry points, including pointing a host straight at a specific **entry step** of a journey.

### 1. Register a custom domain

1. Open your **user menu** (bottom-left) → **Settings → Domains**.
2. Click **Add Custom Domain** and enter the branded **hostname** (for example `account.yourbrand.com`).
3. Choose the **experience** the hostname routes to: **Journey**, **Storefront**, **Customer portal**, **Partner portal**, or **Payment**. (Login and signup hosts can be paired to a portal so they fall back correctly.)
4. Save. The host appears in the list at status **Pending DNS**.

> **Admin & CSR Portal** (staff-plane) hosts are provisioned by PeakCommerce operations and are **not** verified from this screen — reach out to support for those.

### 2. Create the DNS records

1. On the new host's row, open the **DNS records** dialog to see exactly which records to create — PeakCommerce shows the precise record(s) and target values for your host.
2. At your registrar / DNS provider, create those records exactly as shown.
3. Save them. DNS changes propagate on their own schedule, so the host may stay at **Pending DNS** for a while.

### 3. Verify and go live

1. Back on **Settings → Domains**, use the per-row **Verify** action once you've added the records. The status moves through the provisioning lifecycle:

   **Pending DNS → DNS Verified → Provisioning SSL → Active**
2. If verification doesn't pass immediately, wait for DNS to resolve and **re-run Verify** — don't re-add the host.
3. The host shows **Active** only after SSL provisioning completes. **Don't share the URL until it's Active** — it isn't fully serving (with a valid certificate) before then.

### Subdomain mappings (the lighter option)

For a quick branded entry point on the shared platform, use **Subdomain Mappings** instead:

1. Under **Settings → Domains → Subdomain Mappings**, add a mapping.
2. Pick a **page type** — **Customer portal**, **Partner portal**, **Journey**, or a specific **Page**.
3. For a **Journey**, also choose the exact **entry step** the host lands visitors on — so a signup domain can drop people directly on the account-details step of a flow, for example.

### Tips

* **Re-run Verify, don't re-add.** A host sitting in **Pending DNS** is almost always waiting on DNS propagation, not a mistake — re-adding it just restarts the clock.
* **Match the experience to the host's purpose.** A checkout host should route to the journey or storefront; an account host to the customer portal.
* **Wait for Active before launch.** Sharing a host before SSL finishes provisioning will show customers certificate warnings.

### FAQ

**What's the difference between a custom domain and a subdomain mapping?**

A **custom domain** is a fully branded hostname with its own SSL certificate — best for your primary customer-facing hosts. A **subdomain mapping** routes a subdomain to an experience on the shared platform without a custom certificate — best for quick branded entry points and for pointing a host at a specific journey entry step.

**Why is my domain stuck on "Pending DNS"?**

DNS records propagate on their own schedule. Confirm the records match the **DNS records** dialog exactly, then re-run **Verify**. Re-adding the host isn't necessary.

**Can I point a domain at one specific step of a journey?**

Yes — use a **Subdomain Mapping** with page type **Journey** and choose the **entry step** the host should land visitors on.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.peakcommerce.com/guides/feature-guides/build-and-launch/guide-custom-domains-for-your-portals.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
