pct= sets the percentage of your failing mail that the DMARC policy applies to, from 0 to 100. If you leave it out it defaults to 100, so the policy applies to all failing mail. pct=0 asks receivers to apply the policy to none of it, which makes a record behave like monitoring while you test.
Why it matters
Going from monitoring to enforcement in one step is risky if you are not sure every legitimate sender passes. The pct tag, described in RFC 7489, was designed for a slow rollout. You apply quarantine or reject to a small share of failing mail first, watch the reports, and raise the number as confidence grows. Because the default is 100, publishing p=reject with no pct means full enforcement straight away.
How to do it
- Start with monitoring and fix senders using the reports from your
ruaaddress. - Introduce enforcement for a small share of failing mail:
v=DMARC1; p=quarantine; pct=10; rua=mailto:dmarc-reports@example.com
- Check the reports for legitimate mail that is failing. Fix those senders.
- Raise the value in stages, for example 10, 25, 50, then 100, leaving time between changes for DNS and receiver caches to catch up.
- At 100 you can drop the tag, since 100 is the default, or keep it for clarity.
Only whole numbers from 0 to 100 are valid. The tag has no practical effect when p=none, because that policy asks for no action on any message.
What is pct=0? It is valid. It asks receivers to apply the policy to zero percent of failing mail. Used with p=quarantine or p=reject, it signals your intended direction without asking receivers to act on messages. Receivers do not all treat it the same way, so if you only want to monitor, p=none is the clearer and safer choice.
Common mistakes
- Assuming pct=0 means "off" everywhere. Receiver behaviour can vary, so use p=none for plain monitoring.
- Forgetting the default is 100 and publishing a strict policy at full strength by accident.
- Leaving pct below 100 for years, so part of your failing mail is never covered.
- Writing a percent sign, such as
pct=25%. Use the bare number. - Changing pct and p together, which makes it hard to tell which change caused a problem.
Frequently asked questions
Does pct apply to reports?
No. RFC 7489 says pct must not limit the reports themselves. You still receive reports for all mail.
Does pct affect mail that passes DMARC?
No. It only concerns messages that fail. Mail that passes is delivered normally.
Should I use pct in a long-term record?
It is intended as a rollout aid. Once you are confident, move to 100 and leave it there.
Related guides
- Set Up DMARC: From p=none to Quarantine and Reject
- DMARC p=none vs p=quarantine vs p=reject
- What does rua= mean in a DMARC record?
- DNS records basics for launch
Want to see your own record reviewed? Try the free website sample.