Custom Domains
Use your own domain instead of clppr.xyz for branded short links.
Overview
Default:
https://myapp.clppr.xyz/summer-sale
With custom domain:
https://links.mycompany.com/summer-sale
Requirements
- Growth plan or higher
- Domain you own
- Access to DNS settings
Setup Process
Step 1: Add Domain in Dashboard
- Go to Apps → Select your app
- Click Custom Domains → Add Domain
- Enter your domain:
links.yourcompany.com - Click Add
Step 2: Configure DNS
Add a CNAME record pointing to Clippr:
| Type | Name | Value |
|---|---|---|
| CNAME | links | custom.clppr.xyz |
Example for common providers:
Cloudflare:
- Go to DNS settings
- Add record:
- Type: CNAME
- Name: links
- Target: custom.clppr.xyz
- Proxy status: DNS only (gray cloud)
GoDaddy:
- Go to DNS Management
- Add record:
- Type: CNAME
- Host: links
- Points to: custom.clppr.xyz
Namecheap:
- Go to Advanced DNS
- Add new record:
- Type: CNAME
- Host: links
- Value: custom.clppr.xyz
Step 3: Verify Domain
- Return to dashboard
- Click Verify next to your domain
- Wait for DNS propagation (can take up to 48 hours)
Step 4: SSL Certificate
Clippr automatically provisions an SSL certificate via Let's Encrypt. This happens after DNS verification.
Update Platform Configuration
iOS - Associated Domains
Add your custom domain to Associated Domains:
applinks:links.yourcompany.com
Keep the original domain too for backwards compatibility:
applinks:myapp.clppr.xyz
applinks:links.yourcompany.com
Android - Intent Filter
Add your custom domain to the intent filter:
xml
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<!-- Original domain -->
<data android:scheme="https" android:host="myapp.clppr.xyz" />
<!-- Custom domain -->
<data android:scheme="https" android:host="links.yourcompany.com" />
</intent-filter>
Verification Files
Clippr hosts verification files on your custom domain:
https://links.yourcompany.com/.well-known/apple-app-site-associationhttps://links.yourcompany.com/.well-known/assetlinks.json
Using Custom Domain
Once verified, create links with your custom domain:
Dashboard:
- New links automatically use custom domain
- Existing links continue to work on both domains
SDK:
dart
final params = LinkParameters(path: '/product/123');
final link = await Clippr.createLink(params);
// Returns: https://links.yourcompany.com/abc123
Multiple Domains
You can add multiple custom domains:
links.yourcompany.com- Main brandgo.yourbrand.com- Marketingshare.yourapp.io- User sharing
Each domain can be assigned to different apps.
Removing a Domain
- Go to Custom Domains
- Click Remove next to the domain
- Confirm removal
⚠️ Warning
Links on the removed domain will stop working immediately.
Troubleshooting
DNS Not Propagating
- Wait up to 48 hours
- Check with:
dig links.yourcompany.com CNAME - Verify no conflicting records
SSL Certificate Failed
- Ensure DNS is correctly configured
- Check for CAA records that might block Let's Encrypt
- Contact support if persists after 24 hours
Universal Links Not Working
- Verify AASA is accessible:
bash
curl https://links.yourcompany.com/.well-known/apple-app-site-association - Check Team ID in response matches your app
- Delete and reinstall app to refresh Associated Domains
App Links Not Verified
- Verify assetlinks.json:
bash
curl https://links.yourcompany.com/.well-known/assetlinks.json - Check SHA256 fingerprint matches
- Re-verify:
adb shell pm verify-app-links --re-verify your.package.name
Next Steps
- Creating Links - Create links with your custom domain
- Universal Links - iOS deep linking setup
- App Links - Android deep linking setup