Setting up custom domains with Flint: Subdomains vs Subpaths
Last updated: May 6, 2026
Flint offers two main ways to serve your pages on your custom domain: subdomains and subpaths. This guide will help you choose the right approach and set it up correctly.
Subdomain Setup (Recommended for Ad Landing Pages)
A subdomain setup serves your Flint pages at URLs like pages.yoursite.com or lp.yoursite.com. This is the fastest and easiest option, typically taking under 5 minutes to configure.
How to set up a subdomain:
In Flint, go to Settings → Domains and enable Use Custom Domain
Enter your desired subdomain (e.g.,
lp.yoursite.com)Recommended: Click Connect via Entri for automatic DNS setup
Manual option: Add the CNAME and TXT records shown in Flint to your DNS provider
Wait for DNS propagation (usually under 30 minutes)
Confirm the domain status shows "Connected" - SSL is provisioned automatically
For detailed instructions, see our subdomain documentation.
Subpath Setup (Better for SEO)
A subpath setup serves your Flint pages at URLs like yoursite.com/lp/page-name. This approach is better for SEO as it keeps everything under your main domain, but requires more technical setup.
Requirements for subpath setup:
Pro plan or higher
A reverse proxy or rewrite configuration
Technical implementation on your hosting platform
Common platform setups:
Vercel
Add rewrites to your vercel.json file:
{
"rewrites": [
{
"source": "/lp/:path*",
"destination": "https://yoursite.tryflint.com/lp/:path*"
}
]
}Cloudflare Workers
Create a Cloudflare Worker with this script:
export default {
async fetch(request) {
const url = new URL(request.url);
if (!url.pathname.startsWith("/lp")) {
return fetch(request);
}
const flintHost = "https://yoursite.tryflint.com";
const upstream = new URL(`${flintHost}${url.pathname}${url.search}`);
const headers = new Headers(request.headers);
headers.set("Host", flintHost);
return fetch(upstream, {
method: request.method,
headers,
body: ["GET", "HEAD"].includes(request.method) ? null : request.body,
redirect: "follow",
});
},
};Next.js Middleware
For Next.js applications, add this middleware:
import { NextResponse } from "next/server";
export function middleware(req) {
const url = req.nextUrl;
if (url.pathname === "/lp" || url.pathname.startsWith("/lp/")) {
const rewriteUrl = new URL(
`${url.pathname}${url.search}`,
"https://yoursite.tryflint.com"
);
return NextResponse.rewrite(rewriteUrl);
}
}For detailed platform-specific instructions, see our technical setup documentation.
Root Domain Setup
You can also host your entire website on Flint using your root domain (e.g., yoursite.com). This requires:
Pro plan or higher
Adding A records and TXT records to your DNS
Migrating your existing content to Flint
Note: In the current interface, you can set this up by entering your root domain in the subdomain field.
Important Notes
DNS Records: For subdomains, you only need CNAME and TXT records - ignore any A record instructions for the root domain
Page Publishing: Pages must be marked as "Ready" (not "Hidden") to appear on your custom domain
Multiple Setups: You can use both subdomain and subpath configurations for the same site if needed
Multiple Subdomains: To publish different pages to different subdomains (e.g.,
internal.yoursite.comandexternal.yoursite.com), you need to create separate Flint sites - one for each subdomain. You cannot control which pages publish to which subdomain within a single site.Asset Loading: Some setups may require additional configuration for fonts and assets to load properly
Troubleshooting
If your setup isn't working:
Check that DNS records have propagated (can take up to 48 hours)
Ensure pages are published and marked as "Ready"
Verify your rewrite rules include both the path and search parameters
Clear your browser cache after making changes
For additional help, contact our support team with your specific hosting setup and we can provide tailored instructions.