XiaTools

How to Set Up DMARC Reporting for Multiple Domains

By Rohit, founder of XiaTools · Updated 16 Oct 2026

To set up DMARC reporting for multiple domains, you need to publish customized DMARC TXT records on each of your sending domains that direct aggregate (RUA) and forensic (RUF) XML reports to a centralized mailbox or analytics platform. This configuration allows you to monitor authentication compliance across your entire brand portfolio from a single dashboard.

Managing email security across numerous domains can quickly become chaotic without a centralized strategy. Whether you manage distinct regional TLDs, product-specific brands, or acquired corporate domains, consolidating your DMARC metrics is essential for maintaining strong deliverability and preventing business email compromise.

Understanding DMARC Multi-Domain Reporting Architectures

Before you create DNS records, you must decide how you want to collect and process your XML reports. A single organization often owns dozens of domains, and pointing every domain's rua tag to a different address makes troubleshooting nearly impossible.

Centralized Reporting vs. Isolated Reporting

  • Centralized Reporting: All domains send their rua and ruf reports to a single inbox or third-party parser (e.g., dmarc-reports@example.com). This is the preferred method for most enterprises because it provides a unified view of global mail streams.
  • Isolated Reporting: Each domain sends its reports to a domain-specific address (e.g., dmarc@brand-a.com and dmarc@brand-b.com). This is useful when different business units or separate external agencies manage specific domains independently.

The Cross-Domain Reporting Challenge (External Destination Verification)

When you set up DMARC reporting for multiple domains where the reporting address lives on a different domain than the publishing domain, mailbox providers (like Google and Microsoft) require explicit authorization. This security check prevents malicious actors from flooding arbitrary external email addresses with massive volumes of DMARC XML reports.

To satisfy this requirement, the domain receiving the reports (the reporting URI domain) must publish a DNS TXT record that explicitly permits the sending domain to dump reports there. This record uses the following naming convention:

[sending-domain]._report._dmarc.[reporting-domain].TXT

For example, if mail.example.net wants to send its DMARC reports to reports.example.com, then example.com must publish a TXT record at:

mail.example.net._report._dmarc.example.com

With the value:

v=DMARC1;

If you skip this step when pointing multiple domains to a single centralized address on a separate domain, receiving servers will silently drop the report data, leaving you with blind spots in your monitoring.

Step-by-Step Guide to Setting Up Multi-Domain DMARC Reporting

Follow this methodical process to configure DMARC reporting for your entire portfolio of domains.

Step 1: Audit Your DNS and Email Sending Architecture

Before touching your DNS records, map out every domain and subdomain you own. Use the Email Security Checker to instantly audit your existing SPF, DKIM, and DMARC posture across your primary domains and identify misconfigurations before rolling out stricter reporting rules.

Make a spreadsheet containing:

  • Every sending domain and subdomain.
  • The intended policy (p=none, p=quarantine, or p=reject).
  • The designated reporting email address (rua).

Step 2: Establish Your Central Reporting Destination

Set up a dedicated mailbox or connect your custom domain to a specialized DMARC XML analytics service. Ensure that this mailbox has sufficient storage, as daily aggregate reports from multiple high-volume domains can quickly consume gigabytes of space.

Step 3: Publish External Destination Records (If Applicable)

If your reporting address (e.g., dmarc@central-domain.com) differs from the domain publishing the DMARC record (e.g., brand-a.com), you must configure the authorization TXT record on your central domain.

  1. Log into your central domain's DNS provider (such as Cloudflare, AWS Route 53, or GoDaddy).
  2. Create a new TXT record.
  3. Set the Host/Name to: brand-a.com._report._dmarc.central-domain.com
  4. Set the Value to: v=DMARC1;
  5. Save the record.

Step 4: Configure the DMARC TXT Records on Each Sending Domain

Now, navigate to each individual sending domain's DNS management console (names and menu paths vary by provider, typically found under DNS Management, Zone Editor, or Namecheap BasicDNS).

Create a TXT record for each domain under the hostname _dmarc.yourdomain.com.

Sample Record for Brand A (brand-a.com)

Host: _dmarc.brand-a.com
Type: TXT
Value: v=DMARC1; p=none; rua=mailto:dmarc-reports@central-domain.com; pct=100;

Sample Record for Brand B (brand-b.com)

Host: _dmarc.brand-b.com
Type: TXT
Value: v=DMARC1; p=none; rua=mailto:dmarc-reports@central-domain.com; pct=100;

Step 5: Verify Your Configuration Using Command-Line Tools

Always verify that your DNS records are propagating correctly before closing your project. Open your terminal or PowerShell and use nslookup or dig to query the DMARC records.

nslookup -type=TXT _dmarc.brand-a.com

Expected output:

Server:  8.8.8.8
Address: 8.8.8.8#53

_dmarc.brand-a.com	text = "v=DMARC1; p=none; rua=mailto:dmarc-reports@central-domain.com; pct=100;"

You can also check your external authorization record to confirm mailbox providers will accept the report routing:

nslookup -type=TXT brand-a.com._report._dmarc.central-domain.com

Comparison of Multi-Domain Reporting Strategies

Strategy Pros Cons Best Suited For
Single Shared Inbox Simple to set up; low cost; all data in one place. Hard to sort raw XML files manually; high volume can overwhelm basic mailboxes. Small businesses with 2 to 5 domains.
Third-Party XML Parser Automated parsing; beautiful dashboards; alerts; handles cross-domain rules. Requires paid subscription for enterprise features. Mid-to-large enterprises managing 5+ domains.
Isolated Mailboxes Strict separation of concerns between business units. Requires checking multiple inboxes; difficult to get a holistic security score. Large conglomerates with autonomous subsidiaries.

Common Mistakes and How to Fix Them

Even experienced engineers occasionally stumble when deploying DMARC across large portoflios. Watch out for these pitfalls:

  • Omitting the External Destination Record: If your reports fail to arrive from brand-c.com to central-domain.com, check that you created the [sending-domain]._report._dmarc.[reporting-domain] TXT record. Without it, receiving servers reject the report delivery.
  • Typo in the mailto: URI: A missing colon or misspelled email address in the rua tag will result in lost reports. Always format it precisely as mailto:user@example.com.
  • Publishing Multiple DMARC Records: Domains must never have more than one _dmarc TXT record. If a domain has two records, mailbox providers will ignore both, leaving your domain completely unprotected.
  • Jumping Straight to p=reject: When setting up new domains, starting with p=reject will immediately break legitimate email streams that haven't fully aligned their SPF or DKIM identifiers. Always start with p=none.

Multi-Domain DMARC Deployment Checklist

  • Inventory all active domains, secondary domains, and subdomains.
  • Choose a centralized reporting destination or parsing platform.
  • Ensure SPF and DKIM are properly configured and aligned for every domain.
  • Add external destination verification TXT records for cross-domain reporting.
  • Publish _dmarc TXT records starting with p=none on all sending domains.
  • Verify DNS propagation using dig or nslookup commands.
  • Monitor incoming XML reports daily for at least 2 to 4 weeks.
  • Gradually transition policies from p=none to p=quarantine, then p=reject once compliance reaches 100%.

Frequently asked questions

Can I use a single DMARC record for multiple domains?

No. DMARC records cannot be shared across different domains via wildcard or alias configurations. Every unique domain and subdomain must publish its own individual TXT record at _dmarc.yourdomain.com.

Why am I not receiving DMARC reports from some mailbox providers?

If your reporting email address is on a different domain than your sending domain, you must publish an external reporting authorization record. Additionally, some smaller mailbox providers do not generate or send DMARC aggregate reports at all.

How long should I keep my multi-domain DMARC policy at p=none?

You should maintain a p=none monitoring policy for a minimum of two to four weeks. This timeframe ensures you capture traffic from infrequent newsletters, automated system alerts, and partner vendors before enforcing quarantine or reject rules.

What is the difference between RUA and RUF tags in a DMARC record?

The rua tag specifies where daily aggregate XML reports are sent, providing statistical overview data. The ruf tag requests forensic reports sent in real-time when an email fails authentication, though many mailbox providers disable forensic reports due to privacy concerns regarding email content.

Should I set up DMARC for parked or unused domains?

Yes. Parked domains that send no legitimate email are prime targets for spoofing. You should publish a DMARC record with policy set to reject (p=reject) and a sp=reject tag, along with an rua reporting tag, to completely lock down unused domains against malicious use.

Related articles

Free tools