Website problems
Partial DMARC coverage
The DMARC percentage tag tells receivers to apply the policy to only a share of the messages that fail. It exists so a policy can be tightened gradually, watching the reports as the share rises. A domain publishing enforcement at a partial percentage is therefore mid-rollout — and in practice it is usually a rollout somebody started, got distracted from, and never finished, leaving most of the mail as unprotected as before.
What the tag does
It asks receivers to apply the declared policy to the stated share of failing messages, and to treat the remainder as though the policy were less strict.
So a reject policy at twenty-five per cent means three quarters of forged mail is still delivered.
The point is to observe the effect on a slice before committing to all of it, which is a sound idea during a transition.
It applies to messages that fail authentication, not to all mail, so it does not reduce the protection for messages that pass.
Receivers apply it independently, so the share is approximate rather than a precise quota.
Why rollouts stall here
The first steps produce visible progress and the last one produces nothing visible at all, because by then the legitimate senders already pass.
Raising the share requires someone to decide the reports look clean, and nobody owns that decision once the urgency has passed.
The configuration keeps working, mail keeps flowing, and no alert fires for a partial policy.
The domain then appears in any tool as having enforcement configured, which removes the last prompt to look at it.
Years later the record still reads as a transition that ended without anyone noticing.
How to finish the rollout
Read the last few weeks of aggregate reports and confirm that every recurring legitimate source passes with alignment.
Ignore the long tail of sources that will never authenticate — that traffic is the reason for the policy, not a blocker to it.
Raise the share in steps if the volume makes you cautious, checking reports between each step.
Remove the percentage tag entirely once you reach full coverage, since its absence means full coverage and leaving it explicitly set invites a future edit to lower it.
Confirm the subdomain policy separately, because a domain at full coverage with no subdomain policy still leaves unused subdomains forgeable.
The related half-finished states
A policy of reject with no aggregate reporting address, which is enforcement with no way to see what it is catching.
A policy at full coverage on the apex with nothing declared for subdomains, where the inheritance is usually what you want and is worth making explicit.
Strict alignment set during testing and left in place, which rejects mail sent through a provider's subdomain.
Each of these is the same shape of problem: a setting chosen for a transition that outlived it.
How to check it yourself
Query the TXT record at the DMARC name and read the percentage tag.
No tag means full coverage, which is the target state — its absence is not a defect.
Read the policy tag alongside, since a partial share on a policy of none changes nothing either way.
Check the subdomain tag, which is a separate decision and is frequently absent.
Confirm aggregate reports are arriving, because finishing the rollout without them is guesswork.
How VeriFixScan detects it
`email.dmarc.pct` reports the share the policy is applied to, which is this problem directly.
`email.dmarc.policy` reports the enforcement level, since a partial share only matters where the policy would otherwise act.
`email.dmarc.subdomain` reports the subdomain policy and `email.dmarc.alignment` the alignment modes, which are the neighbouring half-finished settings.
`email.dmarc.rua` reports the aggregate destination, whose presence is what makes finishing the rollout possible.
`email.spoofing_exposure` reflects the combined position across SPF, DKIM and DMARC.
What the reports show while it is partial
Aggregate reports include the policy that was published when the mail was evaluated, so a report read against a changed record is misleading.
They also report the disposition actually applied, which for a partial share differs between messages from the same source.
That variation is expected and is not evidence of a problem — it is the share being applied independently by each receiver.
What matters in the reports is whether recurring sources pass with alignment, which is independent of the share.
Raising the share therefore changes what happens to failures, and changes nothing about which sources pass.
Frequently asked questions
- Is a partial percentage ever the right long-term setting?
- No. It exists for transitions. Any share below full coverage means part of the forged mail claiming your domain is delivered as though no policy existed.
- Should I remove the tag or set it explicitly to full?
- Remove it. Absence means full coverage, and an explicit value is an invitation for a future edit to lower it during some other transition.
- Does the share apply to all my mail?
- Only to messages that fail authentication. Messages that pass are unaffected, which is why raising it is safe once the reports show your senders passing.
Sources
Related
VeriFixScan crawls a site and applies its checks to every page it reaches, keeping the evidence behind each finding. Scanning one website is free.
Scan a website