> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stefanbrain.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Follow the content contract in AGENTS.md.
> Treat text as the canonical explanation; video and screenshots enhance it.
> Do not publish unverified product behavior or duplicate an existing canonical article.

# Publish your Build page and connect a custom subdomain

> Share your finished page, add a branded address, and put later edits live.

Get a shareable link for your finished page, then optionally add your own branded subdomain. StefanBrain hosts the page; you do not need separate website hosting.

## Practical use cases

<CardGroup cols={2}>
  <Card title="Get feedback before a campaign" icon="messages-square">
    Publish a page and send the link to your team so they can review the offer,
    layout, and buttons before you send traffic.
  </Card>

  <Card title="Use a branded campaign link" icon="globe">
    Connect a subdomain such as offers.example.com so your campaign sends
    visitors to an address under your own domain.
  </Card>

  <Card title="Put approved edits live" icon="refresh-cw">
    Update a published page after reviewing changes, so visitors see the
    version you intend to use.
  </Card>
</CardGroup>

## Before you start

Have a successfully generated Build page and a destination URL for its call-to-action buttons. Check the copy, images, and button destinations before publishing.

For a custom address, you also need a domain you control and access to its DNS provider. DNS connects the address to the hosted page.

<Warning>
  Use an unused subdomain. Connecting an address already used by another site
  can affect that site's traffic. This setup supports subdomains such as
  offers.example.com, not root domains such as example.com.
</Warning>

## Publish without connecting a domain

<Frame caption="Find Publish, the page slug, and Custom subdomains in the Build editor.">
  <video className="w-full h-auto" controls muted playsInline preload="metadata" poster="/images/build-publishing-cover.png" alt="Find the Build publishing and custom-subdomain controls" aria-label="Find the Build publishing and custom-subdomain controls" style={{ width: '100%', height: 'auto' }}>
    <source src="https://mintcdn.com/copyaccelerator/cJnkVjtiXnS3_BPR/videos/build-controls-review-v1.mp4?fit=max&auto=format&n=cJnkVjtiXnS3_BPR&q=85&s=5c4d31006cee7ad42a2a48fa97392af7" type="video/mp4" data-path="videos/build-controls-review-v1.mp4" />

    <a href="/videos/build-controls-review-v1.mp4">Watch the Build publishing controls walkthrough</a>
  </video>
</Frame>

<Steps>
  <Step title="Open your page">
    From the StefanBrain sidebar, open **Build** and open the page you want to share.
  </Step>

  <Step title="Open Publish">
    Select the black **Publish** button at the top-right of the editor, above your page preview.
  </Step>

  <Step title="Review the slug">
    Under **Published page**, review the **Slug**. This is the page-specific part of the URL, such as `summer-offer`, not a domain name.
  </Step>

  <Step title="Publish the page">
    Select **Publish**. Anyone with the public URL can view the page.
  </Step>

  <Step title="Copy the link">
    Copy the published URL shown in the dialog. Use that exact URL rather than constructing one from your slug.
  </Step>

  <Step title="Check the published page">
    Open the link in a signed-out browser window. Check desktop and mobile layouts, and test the call-to-action links.
  </Step>
</Steps>

You can use this link without filling in **Custom subdomains**.

## Connect your own subdomain

<Steps>
  <Step title="Open Custom subdomains">
    Select **Publish** at the top-right of the Build editor. **Custom subdomains** is inside this dialog, not a separate toolbar option.
  </Step>

  <Step title="Enter your subdomain">
    Under **Custom subdomains**, enter your subdomain—for example, `offers.example.com`.
  </Step>

  <Step title="Start setup">
    Select **Add**. The example text in an empty field is only a placeholder; enter your own address to enable the button.
  </Step>

  <Step title="Follow the DNS setup">
    Follow the guided DNS setup. Sign in to your DNS provider when prompted and review the proposed changes before confirming them.
  </Step>

  <Step title="Check the status">
    Return to the Publish dialog and check the status. DNS changes and the HTTPS certificate may take time to become ready.
  </Step>

  <Step title="Connect the subdomain">
    If the subdomain is **Available**, select **Connect** to attach it to this published page. If prompted to publish first, finish publishing before connecting.
  </Step>

  <Step title="Copy the custom link">
    Once it is **Connected**, copy the complete custom URL shown for the page. It includes the slug: `https://offers.example.com/summer-offer`.
  </Step>

  <Step title="Test the complete URL">
    Open that complete URL in a signed-out window. Confirm HTTPS loads without a warning and the buttons work before sending traffic.
  </Step>
</Steps>

Opening only `https://offers.example.com` is not the same as opening the page's complete URL. Keep the slug in campaign links.

## Publish later changes

The public page is a published snapshot, not the live editor preview. After editing, open **Publish** and select **Update** to put the new version live.

Open the published link again and check the changed section. Recheck links before replacing URLs in active campaigns.

## If you get stuck

| What you see | What to do |
| - | - |
| **Add** is disabled | Enter your subdomain. Wait if setup is already running. |
| “Generate a successful page before publishing” | Finish generating the page successfully, then publish it. |
| “Add a destination URL before publishing” | Add the destination for your page's call-to-action, then try again. |
| A root-domain error | Use a subdomain such as `offers.example.com`, not `example.com`. |
| **Connecting** | Allow DNS changes to propagate and keep the Publish dialog open to see status updates. |
| **Securing** | Wait for the HTTPS certificate to finish. Do not send traffic until the link works. |
| **Available** | Publish the page if needed, then select **Connect**. |
| **Failed** | Read the error, correct the cause, and select **Retry** if shown. If the input was cleared, enter the subdomain again. |
| **Reconnect Required** | Select **Reconnect** and complete setup again. |
| **Needs Attention** | Test the complete page URL. If it remains unavailable, send support the subdomain, page URL, and exact error. |
| Your DNS provider is unsupported | Contact support with the provider name and subdomain. Do not move your domain or change unrelated DNS records just to troubleshoot. |
| The editor has your edits, but the public page does not | Open **Publish**, select **Update**, and check the public link again. |

Never send passwords or DNS-provider login codes in a support message.

## Next step

Share the complete published link with your team for a final check. Keep refining your page in [Build](/knowledge-base/build/index).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.