How-To GuidesMay 2, 20267 min read

How to Set Up a Custom Domain for File Sharing (Step-by-Step, Under 10 Minutes)

A practical guide to pointing files.your-domain.com at a file sharing service using a CNAME DNS record. Cloudflare, GoDaddy, Namecheap, and Vercel screenshots, plus the SSL gotchas nobody warns you about.

The single biggest upgrade most agencies can make to their client delivery experience is putting their own domain on the download link. Setting it up takes ten minutes. The perception payoff lasts for years.

This guide walks through the entire setup — what a CNAME record is, the exact values you need, screenshots of the four most common DNS providers, and the gotchas that send people in circles for an hour.

What you'll end up with

Before: https://bulkshare.cloud/p/8fd2az

After: https://files.your-agency.com/p/8fd2az

Same file, same link, your domain. Clients never see the file sharing provider's brand again.

What you need before you start

  • A domain you own (any registrar — GoDaddy, Namecheap, Cloudflare, Google, etc.)
  • Access to that domain's DNS settings
  • A Pro account on a file sharing tool that supports custom domains (this guide uses BulkShare; the steps are nearly identical for any provider)
  • 5–10 minutes

You do not need: a developer, an SSL certificate, technical infrastructure knowledge, or to move your domain anywhere.

Step 1: Pick your subdomain

Decide what subdomain you want clients to see. Common conventions:

  • files.your-agency.com — most common, clear, short
  • share.your-agency.com — also fine, slightly more action-oriented
  • deliver.your-agency.com — more explicit about purpose
  • portal.your-agency.com — if you want a "client portal" feel

Don't use your apex domain (your-agency.com by itself) — keep that for your marketing site. Subdomains are technically cleaner and avoid CNAME-at-apex restrictions.

Step 2: Add the custom domain in your file sharing provider

In BulkShare, this is in Dashboard → Domains → Add Custom Domain. You'll see two pieces of information:

  1. The subdomain you typed (files.your-agency.com)
  2. The CNAME target value the provider gives you (something like cname.bulkshare.cloud)

Copy that CNAME target. You'll paste it into your DNS settings in the next step.

Step 3: Add the CNAME record at your DNS provider

This is where most people get stuck — the UI is slightly different across DNS providers. Here are the four most common, with the exact field values.

Cloudflare

  1. Open your domain in the Cloudflare dashboard.
  2. Go to DNS → Records → Add record.
  3. Set Type to CNAME.
  4. Set Name to files (just the subdomain part, not the full files.your-agency.com).
  5. Set Target to the CNAME value from your provider (e.g., cname.bulkshare.cloud).
  6. Proxy status: turn OFF (gray cloud). This is the #1 thing people get wrong. File sharing providers handle their own SSL — Cloudflare's proxy will conflict with it.
  7. Save.

See Cloudflare's docs on proxied vs DNS-only if you're not sure which mode you're in.

GoDaddy

  1. Sign in to your GoDaddy account, click My Products, find your domain, click DNS.
  2. Click Add in the Records section.
  3. Set Type to CNAME.
  4. Set Name to files.
  5. Set Value to your provider's CNAME target.
  6. Set TTL to 1 Hour (default is fine).
  7. Save.

GoDaddy's official CNAME guide has screenshots if you need them.

Namecheap

  1. Sign in, go to Domain List → Manage on your domain → Advanced DNS.
  2. Click Add New Record.
  3. Set Type to CNAME Record.
  4. Set Host to files.
  5. Set Value to your provider's CNAME target. Important: Namecheap requires a trailing dot in some cases — paste the value, then save and let Namecheap normalize it.
  6. Save.

Namecheap's official CNAME guide.

Vercel

  1. Open your project on Vercel, go to Settings → Domains.
  2. (Vercel hosts your DNS only if you've added the domain there — otherwise add the CNAME at whoever is your DNS provider.)
  3. If Vercel is your DNS, click Add, choose CNAME, set Name to files, Value to your provider's CNAME target, save.

Step 4: Verify in your file sharing provider

Back in BulkShare's Domains page, click Verify. The provider will check the CNAME record and confirm. If it fails, give DNS 5–10 minutes to propagate and try again.

Once verified:

  • The provider issues an SSL certificate via Let's Encrypt automatically.
  • The HTTPS lock appears in browsers within a few minutes.
  • All future links you create will use your custom domain by default.

The five things that go wrong

If your custom domain isn't working, it's almost always one of these:

  1. Cloudflare proxy is on. Switch the orange cloud to a gray cloud (DNS only) on your CNAME record.
  2. Typo in the CNAME target. Copy/paste from the provider, don't retype. One character off and it fails silently.
  3. DNS hasn't propagated. Most propagate in under 30 minutes; some take up to 24 hours. Use whatsmydns.net to check global propagation.
  4. Wrong subdomain. You added file instead of files, or used the full files.your-agency.com when the field only wants files.
  5. Conflicting record. If you previously had an A record or another CNAME on the same subdomain, delete it. You can only have one record per type per subdomain.

What to do once it's live

Three quick wins after your custom domain is working:

  1. Update your email signature to mention your file delivery URL ("Files: files.your-agency.com"). Reinforces the brand on every send.
  2. Re-share the most recent client delivery link from your custom domain. They'll notice the upgrade without you having to point it out.
  3. If you have an active project with multiple deliverables, set the password on Pro to lock things down properly. Here's the password protection guide.

Custom domains are one of those changes that take ten minutes once and pay off on every client delivery from then on. If you've been putting it off, today is a good day to do it.

Screenshots

BulkShare branded delivery — your-agency.com on the link
What you end up with: file delivery URLs on your own domain.
BulkShare OTP login screen
Sign in via email OTP, then add your custom domain in the dashboard.

Frequently asked questions

What is a CNAME record and why do I need one for file sharing?

A CNAME (Canonical Name) record is a DNS entry that points one domain name to another. For file sharing, you create a CNAME that points your subdomain (like files.your-agency.com) to your file sharing provider's hostname (like cname.bulkshare.cloud). When a client clicks the link, their browser resolves your domain to the provider's servers, and the provider serves the file under your branded URL.

Should I use a subdomain or my main domain for file sharing?

Use a subdomain (files.your-agency.com or share.your-agency.com), not your apex domain. Your apex (your-agency.com) should keep serving your marketing site. Subdomains are technically cleaner — they avoid CNAME-at-apex restrictions, don't conflict with your main site, and make it obvious to clients that this is your file delivery surface.

How long does DNS propagation take?

Usually 5–60 minutes for new records. Some DNS providers (like Cloudflare) propagate in seconds globally. If your domain still doesn't resolve after 24 hours, the CNAME record is wrong — most commonly because of a typo, a trailing dot issue, or because Cloudflare's proxy is on (orange cloud) when it needs to be off (gray cloud).

Do I need to handle SSL certificates myself?

No — modern file sharing providers (BulkShare included) auto-issue and auto-renew SSL certificates via Let's Encrypt once your CNAME is verified. You don't touch certificates. The HTTPS lock icon appears within a few minutes of DNS propagating.

Can I use Cloudflare's proxy (orange cloud) with my file sharing custom domain?

Usually no. File sharing providers terminate SSL at their edge, which conflicts with Cloudflare's proxy mode. Set the CNAME record to 'DNS only' (gray cloud). If you need Cloudflare's WAF or caching, use page rules on your apex domain and leave the file sharing subdomain unproxied.

Why isn't my custom domain working?

Five common causes: (1) typo in the CNAME target — double-check character by character; (2) Cloudflare proxy mode (orange cloud) is on; (3) DNS hasn't propagated yet — wait 30 minutes; (4) the record is on the wrong subdomain (you typed 'files' but added 'file'); (5) you have a conflicting A record on the same subdomain — delete it.

Sources & further reading

Try it on the next handoff.

Stop chasing "did you get it?" replies.

Branded link clients click first try. Real-time open alert so you know it landed. Password and expiry that match the project lifecycle.

Start free — no card
Api Alam

Written by

Api Alam

Founder of BulkShare

Full-stack developer building BulkShare — branded file delivery for agencies and client-service teams.

Follow on X