XiaTools

Inspecting DMARC Percentage Tags for Gradual Rollouts

By Rohit, founder of XiaTools · Updated 16 Oct 2026

Inspecting DMARC percentage tags for gradual rollouts allows domain administrators to test email authentication policies on a fraction of their traffic before enforcing them globally. By using the pct tag within a DMARC DNS record, you can limit strict rejection or quarantine policies to a small percentage of failing emails, significantly reducing the risk of blocking legitimate business messages. This phased approach safeguards your inbound mail flow while you identify configuration gaps in third-party senders, mailing lists, and internal infrastructure.

To ensure your deployment is configured correctly from the start, you can use the DMARC Checker to instantly validate your record syntax, inspect applied tags, and verify that your percentage parameters are correctly parsed by receiving mail servers.

Understanding DMARC Percentage Tags

The DMARC specification includes a specialized tag known as pct. This parameter controls the percentage of messages subjected to the policy defined in the p tag when those messages fail both SPF and DKIM alignment checks.

When you implement a DMARC policy with p=reject and pct=10, only 10 percent of the emails that fail authentication will be outright rejected by the receiving mail server. The remaining 90 percent of failing messages are delivered as normal, though aggregate and forensic reports will still capture the authentication failure for all 100 percent of the traffic.

The Anatomy of a Gradual Rollout Record

A typical DMARC record utilizing a percentage tag looks like this:

_dmarc.example.com. IN TXT "v=DMARC1; p=reject; pct=25; rua=mailto:dmarc-reports@example.com;"

In this example, the domain example.com has set its primary policy to reject, but has scaled its enforcement back to 25 percent. This strategy is ideal when transitioning from p=none monitoring to active enforcement. It lets you test the real-world impact of a strict rejection policy on a quarter of your failing traffic without breaking critical workflows.

Step-by-Step Guide to Inspecting DMARC Percentage Tags

Verifying your DMARC rollout configuration requires a combination of DNS queries and log analysis. Follow these steps to ensure your pct tags function as intended.

Step 1: Query Your Domain's DMARC Record

Use command-line tools to check the live TXT record published at your DNS host. Open your terminal and run a dig command:

dig TXT _dmarc.example.com +short

Sample output:

"v=DMARC1; p=quarantine; pct=50; rua=mailto:reports@example.com;"

If you are using Windows PowerShell, you can query the record using Resolve-DnsName:

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

Step 2: Validate Syntax and Policy Logic

Ensure that your record contains all required tags and that the pct value is an integer between 1 and 100. Note that omitting the pct tag defaults its value to 100, meaning 100 percent of failing mail is subject to the policy.

Step 3: Monitor Aggregate Reports (RUA)

Review your daily XML aggregate reports sent to the address specified in the rua tag. Look for the <policy_evaluated> section in the XML schema. It will show how receiving servers applied your policy:

<policy_evaluated>
  <spf>fail</spf>
  <dkim>fail</dkim>
  <policy>quarantine</policy>
  <fully_aligned>false</fully_aligned>
</policy_evaluated>

When a percentage tag is active, the receiving server randomly selects which messages receive the applied policy based on the specified ratio. Your reports will help you see if legitimate mail is occasionally caught in the quarantine or rejection sample.

Comparing DMARC Rollout Strategies

Choosing the right rollout approach depends on your volume of email and the complexity of your sending infrastructure.

Strategy Policy (p) Percentage (pct) Best Used For
Monitoring none N/A Initial discovery of all sending sources and traffic mapping.
Micro-Rollout reject or quarantine 10 or 20 High-volume domains testing strict enforcement on a small slice of failure.
Mid-Stage Rollout reject or quarantine 50 Validating stability after clearing up major SPF/DKIM misalignments.
Full Enforcement reject 100 (or omitted) Complete protection against spoofing once all senders are fully aligned.

Managing Provider Settings for DMARC DNS Records

When you publish or update your DMARC records, you interact with your DNS hosting provider's management console. While specific menu paths vary across providers like Cloudflare, Route 53, GoDaddy, or Namecheap, the general workflow remains consistent.

  1. Log into your DNS provider dashboard.
  2. Navigate to the DNS Management or Zone Editor section for example.com.
  3. Create a new TXT record.
  4. Enter _dmarc in the Host, Name, or Alias field. Note that some control panels automatically append your domain name, turning it into _dmarc.example.com.
  5. Paste the complete DMARC record string containing your pct tag into the Value, Text, or Answer field.
  6. Save and publish the changes, keeping the TTL (Time to Live) around 300 to 3600 seconds during active rollout phases.

Common Mistakes and How to Fix Them

Deploying percentage tags incorrectly can lead to unpredictable mail delivery or zero protection. Avoid these frequent pitfalls:

  • Placing pct on a p=none Policy: The pct tag has no functional effect when p=none, because none only instructs servers to monitor and report, not to filter. Always pair pct with p=quarantine or p=reject.
  • Using Invalid Values: Setting pct=0 essentially turns off the policy for failing mail, while values over 100 are ignored by compliant mail receivers. Keep integers strictly between 1 and 100.
  • Ignoring Third-Party Senders: Rolling out a strict policy with a low percentage (e.g., pct=10) still causes legitimate emails from unaligned marketing platforms or ticketing systems to fail for that 10 percent of traffic. Ensure your SPF includes all legitimate IPs (such as 192.0.2.0/24) and DKIM keys are published before raising the percentage.
  • Forgetting to Monitor RUA Reports: Setting up a percentage rollout without collecting XML reports means you will remain blind to why messages are failing authentication.

DMARC Rollout Checklist

  • Inventory all legitimate email sending sources and vendors.
  • Configure and verify SPF records for all sending IPs and include ranges like 192.0.2.0/24 correctly.
  • Set up DKIM signing for all outbound mail streams.
  • Publish a baseline p=none DMARC record with a valid rua email address.
  • Analyze aggregate reports for at least two weeks to ensure 100% alignment.
  • Introduce a conservative rollout record (e.g., p=reject; pct=10).
  • Incrementally increase the pct value (e.g., 25, 50, 75) weekly while monitoring bounce rates.
  • Remove the pct tag or set it to 100 once full confidence is achieved.

Frequently asked questions

What happens if I omit the pct tag in my DMARC record?

If you do not include the pct tag, mail servers default the percentage to 100. This means every single message that fails SPF and DKIM alignment will be subject to the policy defined in the p tag.

Does a pct tag affect emails that pass DMARC authentication?

No. The percentage tag only applies to messages that fail DMARC alignment. Emails that pass SPF or DKIM are delivered normally regardless of what value is assigned to the pct parameter.

Why use p=reject with pct=10 instead of p=none?

While p=none only generates reports without stopping mail, a policy of p=reject with pct=10 actively blocks 10 percent of failing emails. This gives administrators a controlled way to test real-world rejection behavior and catch unforeseen delivery issues before enforcing a full block.

Do all receiving mail servers support DMARC percentage tags?

Yes. Major mailbox providers and modern email gateways fully implement the RFC 7489 specification, which mandates proper parsing and handling of the pct tag in DMARC DNS records.

How long should I stay at each percentage level during a rollout?

The duration depends on your email volume and frequency. Most organizations stay at each incremental step for one to two weeks, allowing enough time to capture weekly mailing cycles and review aggregate reports for unexpected delivery failures.

Related articles

Free tools