Connecting a custom domain
How to point your own hostname at a product page — the DNS records Insy asks for, why the status only moves when you press Sync Status, and what your domain actually serves.
A custom domain puts one of your product pages on a hostname you own, like shop.example.com. You
add the domain in Insy, add the DNS records Insy shows you, and the certificate is issued for you.
The product itself does not move or change — the same page is served on both addresses.
Custom domains hang off a product. This page covers connecting a domain, getting it verified, what it serves once it is live, and how to remove it.
Step 1 — Add the domain in Insy
Open the product's Integrations screen
Go to the product and open Integrations. The Custom Domain card is there, and its button reads Connect while no domain is attached and Manage Domain once one is.
Enter the hostname
The dialog has one field, Domain, with shop.example.com shown as the example. Type the
exact hostname you want the product served from, in that same form.
Press Connect Domain
Insy registers the hostname with Cloudflare, which is what issues the certificate and answers requests for it. On success the dialog switches straight to the manage view with your DNS records in it.
Step 2 — Add the DNS records
The manage view shows a Required DNS Records table with Type, Name and Value columns, and a copy button next to the values you need. Add every row of it at whatever service hosts your domain’s DNS.
| Row | Type | Name | Value |
|---|---|---|---|
| Routing | CNAME |
your hostname, exactly as you entered it | the target shown in the table |
| Ownership | usually TXT |
generated for your domain | generated for your domain |
The ownership row’s type is whatever Cloudflare returns for your domain, and falls back to TXT
when Cloudflare does not state one. There is one ownership row, and pressing Sync Status
replaces it with whatever Cloudflare reports at that moment — always copy from the table in front of
you rather than from an older screenshot.
The routing record is always a CNAME on that exact hostname. Insy has no A-record path and no
separate handling for a root domain — whatever you enter, the table asks for a CNAME.
Step 3 — Check the status
The manage dialog’s main button is Sync Status. Pressing it asks Cloudflare where the domain stands and rewrites the status badge, the error message and the Last checked timestamp with the answer.
The badge is one of six states:
| Badge | What it means |
|---|---|
| Active | The hostname is verified and the certificate is issued. The domain is live. |
| Pending | Cloudflare has not verified the hostname yet. |
| SSL Pending | The hostname is verified, but the certificate is not issued yet. |
| Error | Anything else. The reason is shown above the DNS table. |
| Deleted | Cloudflare reports the hostname as deleted. |
| Unknown | No status has been recorded yet. |
A second button, Refresh Validation, asks Cloudflare to run domain-control validation again. It only appears when your domain’s nameservers are Cloudflare’s own — on any other DNS host, Sync Status is the only control you get.
Certificates
The certificate is automatic. When the domain is added, Insy requests a domain-validated certificate with HTTP validation and a minimum TLS version of 1.2. You do not upload a certificate, buy one, or renew one.
Until the certificate is issued the status reads SSL Pending. Refresh Validation asks Cloudflare to run domain-control validation for the certificate again.
How long it takes
Insy states no propagation time, sets no deadline, and enforces no timeout — there is no point at which a pending domain is given up on or cleaned up. How long verification takes is down to your DNS provider and Cloudflare, not to Insy.
In practice this means the workflow is: add the records, walk away, come back later and press
Sync Status. If it is still Pending well after your DNS changes are visible elsewhere, treat
that as a wrong record rather than as slow propagation, and re-check the Name and Value against the
table.
What your domain serves once it is live
Requests to your domain are answered with the same product page that lives on insy.io — the same
content, prices and checkout. A few things are worth knowing about that copy:
- Only the root of the domain serves the product.
https://shop.example.comshows your product page. A deeper path such as/pricinghas nothing behind it. - The canonical URL still points at insy.io. The page sets its canonical link,
og:urlandtwitter:urltohttps://insy.io/p/your-slug, which tells search engines the insy.io copy is the one to index. - The share preview is your SEO image, or a product picture. Insy generates share cards for product pages on insy.io, but the custom-domain copy does not use them. It falls back to one of the product’s own pictures, and if the product has neither, the page shares without an image.
- There is nothing to allowlist. A connected custom domain is recognised automatically when the page calls the Insy API, so no extra origin configuration is needed on your side.
Removing the domain
Remove Domain at the bottom of the manage dialog asks for confirmation and then deletes the hostname from Cloudflare and the record from Insy in one go. The confirmation says it plainly: this cannot be undone. After that the domain no longer resolves to your product, and reconnecting means going through this page again from Step 1 with fresh records.
Insy never touches your DNS — not when connecting, not when removing. The records you added stay in your DNS until you delete them yourself.
When it isn’t working
- Your domain redirects to insy.io. The hostname reached Insy but could not be matched to a
product, so the request is sent to
https://insy.ioinstead. Check that the domain in the panel is spelled exactly like the hostname you are visiting, and that it has not been removed. - Status is stuck on Pending. Nothing re-checks on its own, so first press Sync Status — the state you are looking at may simply be old. If it is genuinely still pending, compare every Name and Value in the table against your DNS entries character by character.
- There is a red error message. The text above the DNS table comes verbatim from Cloudflare — hostname verification errors and certificate validation errors, joined with semicolons. It describes what Cloudflare could not do, and is the most specific information available.
- Refresh Validation never appears. The button is shown only when a nameserver lookup says your
domain is on Cloudflare. It also misreads multi-part suffixes: for a hostname under
.co.uk, the lookup checksco.ukrather than your actual zone, so the button stays hidden even when your domain is on Cloudflare. - You renamed the product and the domain broke. The hostname-to-product lookup is cached for 10 minutes. After a slug change, give it that long before concluding something is wrong.