Brand Kit
Brand Kit centralizes logo and colors. It reduces repeated setup when creating many QR campaigns, Short URLs, or Link Bio pages for the same brand.
Custom Domains
Custom Domains let public QR, Short URL, and Bio URLs use a branded domain. This improves trust and makes printed and digital campaigns look professional.
What customers configure
Customers should only configure DNS. They do not need server, Nginx, Apache, or hosting panel access. DNS points a hostname to the LinkQR routing host; it does not point to a folder path.
Routing host
youdomain.comUse this hostname as the DNS target. Do not enter values such as youdomain.com/linkqr or https://youdomain.com in DNS.
Root domain
Type: CNAME
Name: @
Target: youdomain.com
Proxy status: Proxied
TTL: AutoCloudflare supports root CNAME through CNAME flattening. Some DNS providers may require A/AAAA records or a subdomain instead.
Subdomain
Type: CNAME
Name: links
Target: youdomain.com
Proxy status: Proxied
TTL: AutoThe customer can choose any hostname they control, such as links, go, qr, or a root domain. LinkQR should not force one fixed subdomain name.
TXT verification
Root domain: Name @, Content qr-verify-...
Subdomain: Name links, Content qr-verify-...Server requirement for SaaS
The LinkQR application server must accept unknown customer hostnames and route them to the same Laravel app. For Nginx, make the LinkQR site the default/catch-all server so customers do not require per-domain server edits.
listen 80 default_server;
listen 443 ssl http2 default_server;
server_name _;For temporary testing, adding a specific hostname to server_name can work, but it is not the recommended SaaS setup.
SSL guidance
If the customer uses Cloudflare proxy, use SSL/TLS mode Full. Do not use Full (strict) unless the origin certificate is valid for that exact customer domain or the platform uses Cloudflare for SaaS/custom hostnames.
Troubleshooting
- TXT not found: check whether the TXT record name is
@for root or the chosen subdomain name for subdomains. - CNAME not found: root domains on Cloudflare may return A/AAAA because of CNAME flattening. Subdomains should show CNAME to
youdomain.com. - 526 Invalid SSL certificate: Cloudflare is likely using Full strict and the origin certificate does not cover the custom domain. Use Full or configure a valid origin certificate.
- 1016 Origin DNS error: the DNS target is invalid or includes a URL path. Use only
youdomain.com. - App domain works but custom domain returns 404: the web server is not routing the customer hostname into the LinkQR app, or the domain is not verified in LinkQR.
Domain setup checklist
- Add the domain in the Brand section.
- Create the CNAME or A/AAAA DNS record.
- Create the TXT verification record.
- Wait for DNS propagation.
- Verify the domain in LinkQR.
- Assign it to Bio pages, QR campaigns, or Short URLs.
- Test HTTPS and the correct route prefix:
/s,/q, or/b.
Tracking Pixels
Tracking Pixels connect public campaign traffic to external advertising or analytics platforms. Use them only where privacy rules and consent requirements are handled correctly.
UTM Presets
UTM Presets standardize attribution. Create presets for print, event, social, email, partner, short-link, and ad campaigns so reports are easy to compare.