Email marketing workspace for ecommerce brands

DNS & Deliverability

DNS setup guides.

DNS & Deliverability

How to Set Up Vercel DNS Records for Email Marketing

Learn how to configure SPF, DKIM, DMARC, MX, and tracking records in Vercel DNS without nameserver conflicts or record errors.

By Peak Meadow Published September 19, 2026

Vercel logo

You manage DNS records in Vercel through the Domains settings in your account or team dashboard. Vercel applies a short default TTL of 60 seconds, which allows DNS changes to take effect almost immediately. Before adding email marketing records, check that your domain uses Vercel nameservers rather than an external A record pointing to your web deployment.

Vercel DNS navigation and nameserver check

To access your DNS records in Vercel:

  1. Log in to your Vercel dashboard.
  2. Go to your team or account Settings, then click Domains in the left sidebar.
  3. Locate your domain in the list and click it.
  4. Scroll to the DNS Records section. If DNS management is not yet active, click Enable Vercel DNS.

Before adding records, check how your domain connects to Vercel. Vercel allows two connection methods: nameservers (ns1.vercel-dns.com and ns2.vercel-dns.com) or A/CNAME records configured at an external registrar.

If your domain uses external nameservers with an A record pointing to Vercel’s IP address (76.76.21.21), Vercel does not manage your authoritative DNS. Adding records in Vercel will not publish them to the internet. In that case, configure your email marketing records in your registrar’s DNS panel instead.

Adding a record in Vercel

  1. In your domain settings under DNS Records, click Add.
  2. Select the record type from the Type dropdown (TXT, CNAME, or MX).
  3. Fill in the Name field:
    • For root domain records (such as SPF), enter @.
    • For subdomains (such as _dmarc or DKIM selectors), enter only the prefix. Vercel appends your domain name automatically.
  4. Enter the target data in the Value field:
    • For TXT records, enter your plain text string into the Value field. Do not wrap the value in quotation marks.
    • For CNAME records, enter the destination hostname into the Value field.
    • For MX records, enter the mail server hostname in Value, and enter your priority integer into the Priority field.
  5. Leave the TTL setting at its default (60 seconds) unless your provider requires a specific value.
  6. Click Add.

Vercel documents its record management in its official Vercel DNS documentation.

Required authentication records

Receiving mail servers use these three records to verify that messages sent from your domain are authentic.

1. SPF (Sender Policy Framework)

  • Type: TXT
  • Name: @
  • Value: The SPF string provided by your email platform, such as:
    v=spf1 include:_spf.google.com include:sendgrid.net ~all
  • TTL: 60

Merging multiple SPF records

A domain must only have one root SPF record. If you already send email through Google Workspace, Microsoft 365, or another service, an SPF record will already be listed in your Vercel DNS table.

Do not add a second TXT record starting with v=spf1. Multiple SPF records produce a PermError during mail server evaluation, routing your messages to spam folders or rejecting them entirely.

To update an existing SPF record:

  1. Locate the existing TXT record starting with v=spf1 in your DNS Records list.
  2. Click the three-dots icon next to that record and select Edit.
  3. Add your email marketing provider’s include: mechanism before the closing qualifier (~all or -all). For example:
    v=spf1 include:_spf.google.com include:sendgrid.net ~all
  4. Click Save.

Do not add quotation marks around the string in the Value field. Vercel stores and serves the text literally.

2. DKIM (DomainKeys Identified Mail)

Email providers supply DKIM records in either CNAME or TXT format:

CNAME-based DKIM

Most modern email platforms (such as Klaviyo, Postmark, SendGrid, and Amazon SES) use CNAME records:

  • Type: CNAME
  • Name: The selector prefix without your domain, such as s1._domainkey
  • Value: The target hostname provided by your email platform, such as s1.domainkey.example-esp.com
  • TTL: 60

If your email provider provides a full hostname like s1._domainkey.yourdomain.com, enter only s1._domainkey in the Name field. Entering the full domain causes Vercel to create s1._domainkey.yourdomain.com.yourdomain.com, which prevents DKIM verification.

TXT-based DKIM

Some platforms provide a raw public key string:

  • Type: TXT
  • Name: The selector prefix, such as google._domainkey
  • Value: The raw public key string starting with v=DKIM1; k=rsa; p=...
  • TTL: 60

Paste the full public key into the Value field without quotation marks.

3. DMARC (Domain-based Message Authentication, Reporting, and Conformance)

  • Type: TXT
  • Name: _dmarc (Vercel appends your domain automatically)
  • Value:
    v=DMARC1; p=none; rua=mailto:dmarc-reports@yourdomain.com; pct=100;
  • TTL: 60

Start with p=none to collect delivery reports without affecting message flow. Once SPF and DKIM pass consistently across all your sending services, update the policy tag to p=quarantine or p=reject.

Optional deliverability and branding records

These records configure custom subdomains for bounce handling and link tracking.

4. Custom return path (bounce domain) (optional)

  • Type: CNAME
  • Name: bounces (or the subdomain prefix specified in your platform settings)
  • Value: The mail server hostname assigned by your email platform (such as pm.mtasv.net)
  • TTL: 60

5. Branded tracking domain (optional)

  • Type: CNAME
  • Name: links (or track, click, or email as specified by your platform)
  • Value: The tracking hostname assigned by your email platform
  • TTL: 60

Setting up custom MX records (if required)

If your email marketing service requires dedicated MX records for inbound message processing, reply handling, or sending subdomains:

  1. Click Add in the DNS Records section.
  2. Select MX from the Type dropdown.
  3. Fill in the details:
    • Name: @ for the root domain, or mail for a dedicated sending subdomain.
    • Value: The mail server address provided by your platform (such as feedback-smtp.us-east-1.amazonses.com).
    • Priority: The integer specified by your provider (such as 10).
    • TTL: 60
  4. Click Add.

If you use Google Workspace or Microsoft 365 for your primary business mailboxes, do not overwrite your root MX records. Overwriting root MX records halts regular incoming email for your organization. Only add MX records for dedicated subdomains unless you are switching your primary email provider.

Verifying your DNS records

Vercel’s 60-second TTL allows rapid record verification. You can check your records in Windows PowerShell using Resolve-DnsName:

Check SPF

Resolve-DnsName -Name yourdomain.com -Type TXT

Review the Strings column. Verify that only one SPF record exists and that your sending service mechanism is listed.

Check DMARC

Resolve-DnsName -Name _dmarc.yourdomain.com -Type TXT

Confirm that the output contains your v=DMARC1; p=... record.

Check DKIM

Replace s1 with your provider’s specific selector:

Resolve-DnsName -Name s1._domainkey.yourdomain.com -Type CNAME

If your platform uses TXT-based DKIM, change -Type CNAME to -Type TXT. The output will display your provider’s target hostname or public key.

Check tracking and bounce records (if configured)

Resolve-DnsName -Name bounces.yourdomain.com -Type CNAME

The NameHost column should point to your email platform’s destination address.

Check MX records (if configured)

Resolve-DnsName -Name yourdomain.com -Type MX

The NameExchange column should list your designated mail servers with their numerical priorities under Preference.

Common troubleshooting issues

Issue Root cause Solution
DNS records entered in Vercel do not resolve The domain is pointed to Vercel via A/CNAME records instead of Vercel nameservers. Check your registrar nameserver settings. If external nameservers are active, configure DNS records at that external registrar.
Subdomain hostname is duplicated (_dmarc.yourdomain.com.yourdomain.com) The full domain was typed into the Name field. Enter only the subdomain prefix (such as _dmarc). Vercel appends your domain automatically.
SPF status shows PermError Multiple TXT records start with v=spf1. Edit the existing SPF record, merge all include: mechanisms into that single record, and delete any duplicates.
Verification fails with formatting error Quotation marks were manually pasted into the Value field. Edit the record and remove surrounding quotation marks. Vercel stores strings literally.
Primary business email stops working Root MX records were replaced with email marketing MX records. Restore your original primary mail exchanger records, and configure email marketing MX records on a dedicated subdomain.
CNAME record conflicts with apex domain A CNAME was added for the root domain (@). CNAME records cannot exist at the root level alongside SOA and NS records. Use subdomains for CNAME records or use ALIAS records if supported.

Find the gaps in your email revenue system.

The free audit reviews your flows, segments, deliverability, and list health, then shows which fixes matter first.

Get My Free Email Audit