Custom domain setup
book.yourbrand.com
Point your own domain at your goldenhour booking page so customers never see “goldenhourhq.com” in their address bar. One-time DNS setup, ~10 minutes, included on every plan.
Setup
Four steps in goldenhour
- 01Settings → Custom domain. Enter the hostname you want (e.g.
book.yourbrand.com). Goldenhour validates the shape + claims it. - 02The dashboard shows you a single CNAME record to add at your DNS provider (typically
cname.cloudflareproxy.comor similar). Copy + paste into your DNS settings. - 03Wait. Goldenhour polls every 15 minutes; you can also tap "Recheck now" in the dashboard.
- 04Status flips to "active" → your booking page is live at the new URL. Goldenhour automatically uses it in every outbound message + every canonical-URL builder. The old slug subdomain (
yourbrand.goldenhourhq.com) keeps redirecting to your custom domain for backwards compatibility.
The four statuses
Provisioning lifecycle
pending_dns
You've claimed the domain in goldenhour but the CNAME isn't yet visible to us. We poll your DNS provider every few minutes.
Expected duration: 0-30 minutes typical, up to 24h depending on DNS provider TTL
provisioning
CNAME visible. Cloudflare is issuing your SSL certificate + propagating routing rules. You do nothing in this phase.
Expected duration: Usually 1-5 minutes once we hit this state
active
Live. Your booking page is reachable at your custom domain over HTTPS. All future outbound messaging (SMS + email) uses this URL as the canonical booking URL.
Expected duration: Permanent until you remove the domain
failed
Something went wrong. The dashboard shows a specific error code + suggested fix. Common causes: typo'd CNAME target, conflicting AAAA record, DNS provider blocking Cloudflare propagation.
Expected duration: Manual fix required. Errors auto-retry up to MAX_POLL_ATTEMPTS then stop.
Email-from domain
Separate but parallel setup
By default, goldenhour sends booking confirmations from noreply@goldenhourhq.com. Once you verify your own email domain, outbound mail rewrites to noreply@yourbrand.com : boosting deliverability + matching your branding.
- 01Settings → Custom domain → Email tab.
- 02Enter the apex (yourbrand.com, NOT a subdomain : Resend requires the apex).
- 03Add the SPF / DKIM TXT records goldenhour shows you. Wait for verification.
- 04Once status flips to
email_active, every outbound email auto-uses your domain.
When it fails
Three most-common causes
- Typo'd CNAME target. Copy directly from the dashboard: even small differences (extra dot, wrong subdomain) cause failure. The dashboard shows you a recheck button + the exact expected value.
- Conflicting AAAA record. If your domain has an AAAA record from a previous host, remove it. AAAA + CNAME on the same host short-circuits to the AAAA + routing fails.
- Cloudflare-orange-cloud on the source. If your DNS is on Cloudflare with the proxy enabled, turn the proxy off (grey cloud) on the specific CNAME record you're using for booking. Otherwise Cloudflare-front + Cloudflare-back conflicts.
FAQ
- Do I need a custom domain?
- Not required, but every booking page works with one. Solo artists with their own brand (yourbrand.com) almost always benefit from book.yourbrand.com over the free yourbrand.goldenhourhq.com: feels native + customers don't see goldenhour in the URL. The DNS setup is one-time, ~10 minutes, then it Just Works.
- What domain should I use?
- Most artists use a subdomain (book.theirbrand.com) on a domain they already own. The full apex (theirbrand.com) works too but requires a different DNS setup + means your main site has to live somewhere else. Subdomain is the safe default.
- How long does provisioning take?
- From CNAME-add to active status: usually 5-30 minutes, sometimes up to 24 hours depending on your DNS provider's TTL. You'll see one of four statuses in Settings: pending_dns → provisioning → active → (or failed if something goes wrong).
- Can I have a custom email-from domain too?
- Yes: separate from the routing domain but follows the same lifecycle. Once active, your booking confirmations send from noreply@yourbrand.com instead of goldenhour's default. Costs nothing extra on goldenhour; you may need to add SPF/DKIM records to your DNS provider.