All posts
how-toWhatsApp Businessdomainmarketing

How to Set Up WhatsApp Business with a Custom Domain

REXO HOSTPublished 13 May 2026

WhatsApp Business doesn't have an official "custom domain" feature. But you can give customers a branded URL like chat.acme.com or support.acme.com that quietly redirects them to your WhatsApp chat. Looks professional, increases trust, and gives you click-tracking.

Setup takes about 15 minutes. Here's the full playbook.

Why use a custom domain for WhatsApp?

  • Trust: customers click chat.acme.com more readily than a raw wa.me/919876543210 (which screams "personal phone number")
  • Brandability: print chat.acme.com on business cards, packaging, ads — easier to remember
  • Tracking: a 301-redirect lets you log clicks (via your CDN/hosting analytics) — wa.me doesn't expose this
  • Flexibility: change the underlying number later without reprinting materials
  • Multi-channel routing: redirect different subdomains to different agents/teams

Method 1: Pure DNS redirect (simplest)

Most registrars (including REXO HOST) and Cloudflare offer URL forwarding. Set up:

  1. Register your domain or pick a subdomain (e.g., chat.acme.com)
  2. In your DNS provider, set up a redirect: chat.acme.comhttps://wa.me/919876543210?text=Hi%20Acme
  3. Choose 301 (permanent) or 302 (temporary) — 301 is cached by browsers, 302 is fresh every time

Pros: no hosting needed, ~5 minutes setup
Cons: limited tracking, depends on your DNS provider supporting forwarding

Method 2: Cloudflare Worker (best for tracking)

A 10-line Cloudflare Worker gives you the redirect plus full request logging:

// Cloudflare Worker — chat.acme.com → wa.me/919876543210
addEventListener('fetch', event => {
  event.respondWith(handleRequest(event.request));
});

async function handleRequest(request) {
  const url = new URL(request.url);
  const message = url.searchParams.get('text') || 'Hi Acme';
  const target = `https://wa.me/919876543210?text=${encodeURIComponent(message)}`;

  // Log the click (Cloudflare Analytics captures this)
  console.log('chat-redirect', request.headers.get('referer') || 'direct');

  return Response.redirect(target, 302);
}

Bind the worker to chat.acme.com/* in Cloudflare's Worker Routes panel. Free tier handles 100,000 requests/day — far more than any small business needs.

Pros: full request logging, dynamic message customization (read URL params), can route to different numbers based on time/region
Cons: needs Cloudflare account (free)

Method 3: Static HTML page (also free)

Host a single index.html with a meta-refresh + JavaScript redirect:

<!DOCTYPE html>
<html><head>
<meta http-equiv="refresh" content="0; url=https://wa.me/919876543210?text=Hi%20Acme">
<title>Connecting to Acme support…</title>
</head><body>
<script>window.location.replace('https://wa.me/919876543210?text=Hi Acme');</script>
<p>Opening WhatsApp… <a href="https://wa.me/919876543210?text=Hi Acme">Click here if it doesn't open</a></p>
</body></html>

Drop on Vercel / Netlify / GitHub Pages free tier. Point chat.acme.com at the host.

Pros: full control over the in-between page (can show your logo briefly), zero ongoing infrastructure
Cons: 100ms-200ms delay vs pure DNS redirect

What URL format to redirect TO

WhatsApp's official click-to-chat URL is wa.me/<number> (no leading + or 00):

  • https://wa.me/919876543210 — opens chat with that number
  • https://wa.me/919876543210?text=Hello — opens chat with pre-filled message
  • https://wa.me/qr/ABC123 — uses a permanent QR code (use this if your number changes)

Always URL-encode the message (%20 for space, %0A for newline).

Pre-filled message tips

A good pre-filled message reduces friction:

  • Hi Acme — I have a question about [product]
  • Hello, I clicked through from your pricing page
  • ❌ Empty (customer has to think what to type)
  • URGENT HELP NEEDED (sets the wrong tone)

Tracking clicks

If you went with the Cloudflare Worker (Method 2), you get full request logs in Cloudflare Analytics. To attribute clicks to specific marketing campaigns, append UTM params:

https://chat.acme.com/?text=From%20Instagram&utm_source=instagram&utm_campaign=summer-launch

Your analytics will then show which channel drove which redirect.

Frequently asked questions

Do I need WhatsApp Business API for this?

No. This works with any WhatsApp account — personal, Business app, or API. The redirect just opens a chat; it's WhatsApp on the receiving end that determines what happens next.

Can I use this with WhatsApp Business API auto-replies?

Yes — this is the front-door for an API setup. The redirect lands the customer in your WhatsApp number, and your API stack (Twilio, MessageBird, Gupshup) handles the auto-reply.

What if I need different numbers for different teams?

Use subdomains: sales.acme.com, support.acme.com, billing.acme.com — each redirecting to a different number. Or use URL params: chat.acme.com/?team=sales and route at the Worker level.

Can I track conversions back to the chat?

Indirectly. The redirect tells you the click happened. After that you're in WhatsApp, which doesn't expose analytics to outside systems unless you're on Business API. Most small businesses just compare chat-button clicks vs new conversations in their WhatsApp inbox manually.

Get a domain ready

Search at REXO HOST — register the SLD or just a subdomain on your existing domain, point it at Cloudflare, set up the redirect. Ping us on WhatsApp if you want help wiring it.

Keep reading