Skip to content

Custom Domains

Custom domains let you use your own branded subdomain for attendee-facing WebinarStack links.

Instead of sending attendees to a WebinarStack-hosted app URL, you can connect a domain such as webinar.example.com and use that domain for registration pages, watch links, replay links, unsubscribe links, and other attendee-facing webinar URLs that WebinarStack generates for your workspace.

Custom domains are most useful when you want webinar links to feel like part of your own brand, improve trust in emails and SMS messages, or keep the attendee journey aligned with the rest of your website.

Area What It Means
Where to manage it Open Settings and select the Domains tab.
Supported domain type Subdomains, such as webinar.example.com or events.example.com.
Unsupported domain type Apex/root domains, such as example.com, are not currently supported.
Main DNS record A CNAME record pointing your chosen subdomain to the target shown in WebinarStack.
Verification record A TXT record may be shown when domain ownership verification is required.
SSL WebinarStack provisions SSL through its hosting provider after DNS is correct.
Active URL behavior Once live, WebinarStack prefers the custom domain for attendee-facing generated links.
Dashboard behavior Dashboard, login, signup, and account settings stay on the primary WebinarStack app domain.
Plan requirement Custom domains require a plan with the custom domains capability.
Limit One active custom domain per workspace/account.

A custom domain changes the public base URL WebinarStack uses for attendee-facing webinar experiences.

When the domain is live, WebinarStack can use it for:

  • Webinar registration URLs shown in the webinar editor.
  • Attendee watch links generated after registration.
  • Email automation tokens such as {{watch_link}}, {{replay_link}}, and {{unsubscribe_link}}.
  • SMS automation tokens that include attendee URLs.
  • API responses that return attendee accessUrl values.
  • Embed and attendee event traffic that belongs to the public webinar experience.

For example, without a live custom domain, an attendee link might look like:

https://app.webinarstack.co/watch/abc123

With a live custom domain, that same kind of attendee link can look like:

https://webinar.example.com/watch/abc123

The custom domain does not turn WebinarStack into a general website builder for the root of your domain. Visiting https://webinar.example.com/ directly shows a WebinarStack page explaining that the domain serves webinar pages only. The dashboard, login, billing, API integration setup, and account settings still belong on the main WebinarStack app domain.

Choose a dedicated subdomain for your webinar traffic.

Good choices:

Example Why It Works
webinar.example.com Clear, predictable, and easy to recognize in email.
events.example.com Good if webinars are part of a broader event program.
live.example.com Short and memorable for watch links.
training.example.com Good for education, onboarding, or course-style webinars.

Avoid:

Domain Why To Avoid It
example.com Apex/root domains are not currently supported.
www.example.com Usually already serves your main website.
app.example.com Often already used for a SaaS app or customer portal.
A subdomain with existing records Existing CNAME, A, AAAA, or proxy records may conflict with WebinarStack routing.

Use a subdomain that you can safely dedicate to WebinarStack.

Make sure you have:

  1. Access to WebinarStack settings for the correct workspace.
  2. Permission to manage DNS records for your domain.
  3. A subdomain chosen, such as webinar.example.com.
  4. No conflicting DNS records already using that exact subdomain.
  5. A plan that includes custom domains.

If your DNS is managed by an agency, IT team, or another admin, you can still start the connection in WebinarStack and then send them the DNS records shown on the domain card.

Open Settings and select the Domains tab.

The Domains tab shows one of two states:

State What You See
No connected domain A setup form with a Hostname field and Connect Domain button.
Connected domain A domain card with status badges, DNS records, recheck controls, preview URL, and disconnect controls.

The Hostname field is where you enter the exact subdomain you want to connect.

Use lowercase letters, numbers, hyphens, and dots. WebinarStack normalizes the host internally, so Webinar.Example.com is treated as webinar.example.com.

  1. Open Settings.
  2. Select Domains.
  3. Enter your subdomain in Hostname.
  4. Click Connect Domain.
  5. Review the confirmation dialog.
  6. Click Connect.

After you connect, WebinarStack creates the domain record and shows the DNS records you need to add at your DNS provider.

If you enter an apex domain such as example.com, WebinarStack rejects it and asks you to use a subdomain like webinar.example.com.

If the domain is already connected to another WebinarStack account, you will need to use a different subdomain or contact support.

The confirmation dialog exists because connecting a domain starts an external hosting and DNS verification process.

It confirms:

  • The exact hostname you are connecting.
  • That attendee links will route through that domain after DNS propagates.
  • That you can cancel and keep editing if the hostname is wrong.

Review the hostname carefully before clicking Connect. DNS mistakes are usually easy to fix, but they can cost time while records propagate.

After connecting the domain, WebinarStack shows a DNS instructions section titled Add these DNS records.

The DNS records table has three important fields:

Field Meaning
Type The DNS record type, usually CNAME and sometimes TXT.
Name The hostname or verification hostname where the record must be created.
Value The destination or verification token the record must point to.

Use the copy buttons in WebinarStack whenever possible. DNS verification is exact: extra spaces, missing labels, or an old record pointing somewhere else can prevent the domain from going live.

The CNAME record routes your chosen subdomain to WebinarStack’s hosting layer.

It usually looks like this:

Field Example
Type CNAME
Name webinar.example.com
Value The target shown in WebinarStack, such as cname.vercel-dns.com or another recommended target.

Some DNS providers ask for the full hostname, such as webinar.example.com. Others ask only for the subdomain label, such as webinar, because they automatically append example.com.

The final DNS result must resolve the full subdomain shown in WebinarStack.

WebinarStack may also show a TXT record for domain ownership verification.

It usually looks like this:

Field Example
Type TXT
Name _vercel.webinar.example.com
Value A verification token shown in WebinarStack.

Add the TXT record exactly as shown. If your DNS provider automatically appends your root domain, make sure the final record name still becomes _vercel.webinar.example.com.

TTL controls how long DNS resolvers cache a record.

For setup, the default TTL from your DNS provider is usually fine. If you can choose a value, a shorter TTL such as 5 minutes is helpful during setup, but it is not required.

A hostname cannot have both a CNAME and most other address records at the same name.

If webinar.example.com already has an A record, AAAA record, another CNAME, or a provider-specific proxy record, remove or replace the conflicting record before expecting WebinarStack verification to pass.

The DNS instructions include a provider selector with guidance for common DNS providers.

Provider Notes
Cloudflare Add records under DNS -> Records. Set Proxy status to DNS only. Orange-cloud proxying can prevent SSL issuance.
GoDaddy Go to My Products -> your domain -> DNS -> Add Record. Default TTL is fine.
Namecheap Go to Domain List -> Manage -> Advanced DNS -> Add New Record. Use CNAME for routing and TXT for verification.
Route 53 Go to Hosted zones -> your domain -> Create record. Use simple routing and keep alias disabled for the CNAME.
Other registrar Add the records exactly as shown in WebinarStack. Disable custom proxies or CDN features until verification is complete.

If your provider’s UI looks different from the wording above, focus on the final DNS result: the full hostname must have the CNAME target shown by WebinarStack, and the verification TXT record must exist when shown.

Cloudflare deserves special attention because its proxy mode can hide the real CNAME target from WebinarStack’s hosting provider.

When using Cloudflare:

  1. Create the CNAME record.
  2. Set Proxy status to DNS only.
  3. Confirm the cloud icon is gray, not orange.
  4. Save the record.
  5. Return to WebinarStack and click Recheck if needed.

After the domain is live, keep it DNS-only unless support tells you otherwise.

CAA records tell certificate authorities which companies are allowed to issue SSL certificates for your domain.

WebinarStack checks CAA records before adding the domain to the hosting provider. This prevents a confusing setup state where DNS looks correct but SSL can never be issued.

If a CAA record blocks SSL, WebinarStack shows an error with the blocking record and a fix.

In most cases, the fix is to allow Let’s Encrypt to issue certificates for the domain by adding a CAA record like:

example.com. CAA 0 issue "letsencrypt.org"

Do not delete your existing CAA records unless you understand why they were added. Add the allowed issuer alongside the existing records so your current certificate policy remains intact.

If your organization has strict certificate rules, send the WebinarStack error text to the person who manages your DNS or security policy.

Custom domain setup has two separate parts:

Part What Happens
DNS verification WebinarStack’s hosting provider confirms that your records point to the correct target and that ownership verification is satisfied.
SSL provisioning An HTTPS certificate is issued so attendees can safely visit the domain.

DNS can be correct before SSL is finished. That is why the domain card can show DNS Verified while SSL is still pending.

Most domains finish quickly after DNS is correct, but DNS propagation can take longer depending on your provider, TTL, and previous records.

After you connect a domain, WebinarStack starts background checks.

The system checks shortly after connection and continues over a 15-minute setup window. The Domains tab also refreshes pending domain state automatically while you are viewing it.

If the domain has not gone live after the setup checks, WebinarStack marks it as DNS failed or shows a specific error. You can fix the DNS records and click Retry or Recheck.

Live domains are also checked periodically. If a previously live domain becomes misconfigured later, WebinarStack can mark it as an error and fall back to the primary app URL for generated attendee links.

The domain card uses status badges to show what is happening.

Status What It Means What To Do
DNS Pending WebinarStack is waiting for DNS records to be detected. Add the shown CNAME and TXT records, then wait or click Recheck.
DNS Failed DNS was not detected within the setup window or records do not match. Compare records carefully, fix mistakes, and click Retry.
DNS Verified DNS verification passed, but SSL is not finished yet. Wait for SSL provisioning. This usually completes without more action.
SSL Pending The certificate is being issued or final hosting configuration is still settling. Wait a few minutes and use Recheck if needed.
Live The domain is ready for attendee traffic. Copy, test, and start using the branded attendee URLs.
Error WebinarStack found a provider, CAA, or verification issue. Read the error card, apply the suggested fix, then click Retry.
Disconnected The domain has been removed from active use. Generated links fall back to the primary app URL. You can remove DNS records after disconnect completes.

The domain card includes a last-checked timestamp.

Use it to tell whether WebinarStack has checked the latest version of your DNS records. If you just changed DNS and the card still shows an older check time, click Recheck.

If the timestamp updates but the status does not change, the current DNS result still does not satisfy the setup requirements.

Use Recheck when:

  • You just added the DNS records.
  • You changed a CNAME or TXT value.
  • Your DNS provider shows the records are saved.
  • The domain has been pending longer than expected.

Use Retry when:

  • The domain is in an error state.
  • You fixed a CAA record.
  • You corrected a missing or mismatched record.
  • A provider error looked temporary.

Do not click repeatedly every second. Rechecks are rate-limited, and DNS providers still need time to publish changes.

When the domain is live, the domain card shows an attendee URL preview.

The preview uses the account’s active base URL and tries to build a real watch link using the newest registration token in the workspace.

There are two possible preview states:

Preview State Meaning
Real attendee URL WebinarStack found a registration token and can show a real https://yourdomain/watch/... link.
Placeholder URL There is no registration token yet, so WebinarStack shows https://yourdomain/watch/<token>.

If you see a placeholder, register a test attendee for one of your webinars. Then return to Settings -> Domains and use the preview again.

The Test attendee URL button opens the preview URL. If the domain is not live yet, the test button is disabled because the route may not work until DNS and SSL are complete.

WebinarStack resolves a workspace’s active base URL before generating attendee links.

The order is:

  1. Use the live custom domain if the workspace has one.
  2. Otherwise, use the primary WebinarStack app URL.

This affects several places in the product.

In the webinar editor, the Registration tab shows a public URL for the webinar.

When a custom domain is live, the registration URL uses that domain:

https://webinar.example.com/webinar/my-webinar

If no custom domain is live, the registration URL uses the primary app URL.

Watch and replay links use the attendee’s registration token:

https://webinar.example.com/watch/attendee-token

The same token route is used for live sessions and replay access.

Email automations resolve tokens using the active base URL.

Common URL tokens include:

Token Result
{{watch_link}} The attendee’s watch link on the live custom domain when available.
{{replay_link}} The attendee’s replay/watch route on the live custom domain when available.
{{unsubscribe_link}} The attendee unsubscribe route on the live custom domain when available.

If you connect a custom domain after creating automations, you do not need to rewrite the token names. The token is resolved when the automation sends.

SMS automations also use the active base URL for URL tokens.

Because SMS messages have tight length limits, a branded but longer custom domain can affect message segment count. Check SMS preview and segment warnings after connecting a custom domain, especially if your domain is long.

When creating or reading registrations through the API, WebinarStack returns attendee access URLs in the response.

Treat the returned accessUrl as the source of truth instead of constructing attendee links manually. Depending on the API route context, the returned URL may use the primary WebinarStack app URL or a custom-domain-aware base URL. The important contract is that the URL returned by WebinarStack is the URL your integration should store or send to the attendee.

The public registration experience can run on the custom domain, but the embed script source intentionally uses the primary WebinarStack app URL to avoid cross-origin loading issues.

That means an embed snippet can still contain a script URL from the primary WebinarStack app even when your attendee registration and watch URLs use your custom domain. This is expected.

Custom domains do not change:

  • The WebinarStack dashboard URL.
  • Login, signup, billing, or account settings URLs.
  • Internal admin or background job URLs.
  • Third-party integration OAuth URLs.
  • Your main website.
  • Existing DNS records for unrelated subdomains.

If someone tries to visit dashboard paths on your custom domain, WebinarStack redirects them to the primary app host. This protects account administration from being mixed into attendee-facing domains.

Use disconnect when you no longer want WebinarStack to serve attendee links from the custom domain.

  1. Open Settings.
  2. Select Domains.
  3. Open the connected domain card.
  4. Click Disconnect.
  5. Review the confirmation dialog.
  6. Click Disconnect again.

After disconnect succeeds:

  • WebinarStack removes the domain from its hosting configuration.
  • The domain record is marked disconnected.
  • Generated attendee links fall back to the primary WebinarStack app URL.
  • You can remove the CNAME and TXT records from your DNS provider.

Disconnect is restricted because it affects public attendee access. If you cannot disconnect a domain, ask the workspace owner to perform the action.

Custom domains require a plan that includes the custom domains capability.

If a workspace is downgraded to a plan that does not include custom domains, the domain record can remain in the workspace, but attendee traffic on the custom domain is blocked until the plan supports custom domains again.

This avoids requiring you to recreate DNS records if the workspace later returns to a supported plan.

Problem Likely Cause What To Do
Apex domain rejected You entered example.com instead of a subdomain. Use a subdomain like webinar.example.com.
Domain already connected The same hostname is active in your workspace or another account. Use a different subdomain or contact support.
DNS pending for a long time DNS records are missing, not propagated, proxied, or entered at the wrong name. Compare the Type, Name, and Value fields in WebinarStack with your DNS provider.
TXT record not found The verification TXT record is missing or was added at the wrong name. Add _vercel.your-subdomain with the exact token value shown.
CNAME record not found The custom subdomain does not have a CNAME record. Add the CNAME record shown in WebinarStack.
CNAME points to the wrong target The hostname has an old CNAME or points to another service. Update it to the target shown in WebinarStack.
SSL does not issue DNS is proxied, CAA blocks SSL, or DNS has not propagated. Set Cloudflare to DNS-only, fix CAA records, and retry.
CAA record blocks SSL Your DNS policy does not allow the certificate authority used by WebinarStack. Add the CAA record suggested in the error card, or ask your DNS/security admin.
Root domain shows “Webinar pages only” You visited the custom domain root path. Open a webinar registration or watch link instead.
Dashboard redirects away from custom domain Dashboard pages are primary-app-only. Use the main WebinarStack app URL for dashboard work.
Preview shows <token> No registration token exists for the workspace. Register a test attendee, then return to the domain preview.
SMS messages got longer The custom domain is longer than the default URL. Review SMS body length and shorten message copy if needed.
  • Pick a short, clear subdomain before launching traffic.
  • Set up the custom domain before publishing registration links.
  • Keep the domain dedicated to WebinarStack.
  • Use DNS-only mode in Cloudflare.
  • Avoid changing DNS records during a live webinar.
  • Register a test attendee and verify the registration URL, watch link, replay link, email tokens, SMS tokens, and unsubscribe link before launch.
  • Tell your team that dashboard access still uses the main WebinarStack app URL.
  • Keep the DNS records in place as long as the domain remains connected.

If another person manages DNS, send them:

Please add the following DNS records for our WebinarStack custom domain.
Subdomain: webinar.example.com
Record 1:
Type: CNAME
Name: webinar.example.com
Value: [copy the value shown in WebinarStack]
Record 2, if shown:
Type: TXT
Name: _vercel.webinar.example.com
Value: [copy the token shown in WebinarStack]
Important:
- Do not proxy this record through Cloudflare or another CDN.
- The final hostname must resolve exactly as shown.
- Keep existing CAA records, but allow Let's Encrypt if WebinarStack reports a CAA issue.

Replace the examples with the exact values shown in Settings -> Domains.

Before you share webinar links broadly:

  • The domain status is Live.
  • The registration URL in the webinar editor uses the expected domain.
  • A test attendee can register successfully.
  • The attendee watch link opens over HTTPS.
  • Email tokens resolve to the custom domain.
  • SMS tokens fit within your intended message length.
  • The unsubscribe link opens correctly.
  • Your team knows not to use the custom domain for dashboard login.

Once those checks pass, the domain is ready for attendee traffic.