Mapping a Custom Domain and Verifying DNS

Custom Domain DNS CNAME SSL HTTPS Store App Branding

Your store app's web channel is published by default at a URL under the shared receiptroller.io domain, such as https://app.receiptroller.io/your-store. Mapping your own custom domain (e.g. app.your-store.com) lets you deliver a consistently branded URL to your customers. An SSL certificate (HTTPS) is also issued automatically, so there's no need to purchase or renew a certificate yourself.

This article walks through how to add a custom domain, configure DNS records, what to expect during verification, and common troubleshooting.

Benefits of using a custom domain

  • Brand consistency — unify your store website, business cards, and social links under the same domain
  • Customer trust — a recognizable "your store's URL" reduces the risk of confusion with phishing
  • Marketing use — print app.your-store.com on flyers or signage, and track traffic from social media or search more easily

What you need beforehand

  • A domain owned by your store — one already registered through a registrar such as Onamae.com, Google Domains, Cloudflare, or AWS Route 53
  • Permission to edit DNS records — access to the management console of your registrar or DNS provider
  • A published store app web channel — it must already be displaying correctly at the default relay-router URL

Subdomain vs. root domain

There are two ways to use a custom domain.

  • Subdomain (recommended): a form with something prepended to the root, such as app.your-store.com or shop.your-store.com. It can be set up by adding a single CNAME record, and is easy to maintain
  • Root domain (bare domain): your-store.com itself. This requires ANAME / ALIAS / flattened CNAME records, and support varies by registrar. It can only be configured if your registrar supports these record types

In most cases, we recommend keeping your store website's root (your-store.com) as-is and carving out a dedicated subdomain for the store app.

Setup steps

  1. Add the domain from the store admin screen: open "Store App" → "Settings" → "Custom Domain" and click "Add Domain." Enter the domain you want to set up (e.g. app.your-store.com)
  2. Check the DNS records needed for verification: the screen will display a verification TXT record and a production CNAME record. For example:
    • Verification: _rr-verify.app.your-store.com TXT rr-verify=abc123...
    • Production: app.your-store.com CNAME stores.receiptroller.io
  3. Add the DNS records at your registrar: add the two records above in your registrar's DNS settings screen (the exact steps vary by registrar — see "Setup steps for major registrars" below)
  4. Run verification: return to the store admin screen and click "Run Verification." The relay router will check your DNS
  5. Automatic SSL certificate issuance: once verification completes, an SSL certificate for HTTPS is issued automatically. It's usually active within a few minutes
  6. Publish: click "Publish" to make your store app accessible via the custom domain

Setup steps for major registrars

  • Onamae.com: DNS-related functions → DNS record settings → add TXT and CNAME records via "Add." Propagation takes about 30 minutes to a few hours
  • Cloudflare: DNS tab → Add record. When adding the CNAME, set the proxy (orange cloud) to off (verification will not pass while it's on)
  • AWS Route 53: Hosted zone → Create record. Select CNAME / TXT for the type
  • Google Domains (now Squarespace): DNS → Custom records → Add
  • Value Domain: DNS settings → edit DNS records directly

Field names vary by registrar, so if anything is unclear, contact your registrar's support or reach out to relay router support.

How long DNS propagation takes

After adding DNS records, it can take anywhere from a few minutes up to 72 hours for the change to propagate across DNS servers worldwide. In most cases it takes effect within tens of minutes, though the TTL (Time To Live) setting can extend this.

The relay router automatically re-runs verification every 5 minutes, so if it doesn't pass right away, just wait a bit and check again.

SSL certificate (HTTPS)

Once your custom domain is verified, an SSL certificate is issued automatically. Certificates are issued by Let's Encrypt and renew automatically every 90 days. There's no need for your store to purchase, renew, or worry about forgetting to renew a certificate.

Access over HTTP (unencrypted) is automatically redirected to HTTPS.

Multiple custom domains

You can set up more than one custom domain for a single store app. For example, you could configure both app.your-store.com and shop.your-store.com so either one works. If you designate one as the primary domain, requests to the other domains are automatically redirected to it.

Changing or removing a custom domain

You can change or remove a custom domain later.

  • Changing: you can switch domains with no downtime by adding and verifying a new domain while keeping the old domain's settings in place. Even if old URLs are bookmarked, they'll redirect visitors to the new domain
  • Removing: click "Delete" next to the target domain on the "Custom Domain" screen. Customer access reverts to the default relay-router URL

Troubleshooting

  • Verification won't pass: try again after waiting for DNS to propagate. Confirm the records are registered correctly in your registrar's management screen
  • Verification won't pass on Cloudflare: turn off the CNAME's proxy setting (grey cloud / DNS only). It's fine to turn it back on after verification completes
  • "Failed to issue SSL certificate" is shown: your domain's CAA record may be restricting certificate issuance. Make sure the CAA record includes letsencrypt.org, or remove the CAA record
  • A warning appears when accessing over HTTPS: warnings can sometimes appear right after a certificate is issued due to caching. Wait a few minutes and try accessing again
  • Opening the custom domain still leads to the old URL: try again after clearing your browser cache. If that doesn't resolve it, double-check your CNAME record for typos

Available plans

Using a custom domain requires your store's plan to be Starter or above (see the separate article "Plans and Roles" for what's included in each plan).

Related help

Published: 2026-05-25 Updated: 2026-07-02