Deliverability
Breaking down a DMARC record: What it is and how it looks like
DMARC is becoming increasingly important amidst changes from mailbox providers, but it can be a fairly technical concept. Let’s dive into an example of a DMARC record and break down what each part means and how it relates to the goals of DMARC authentication.

PUBLISHED ON
DMARC authentication is hard – we know it. For many email senders, the technical complexities of DMARC are just enough of a headache to put it off until it becomes an absolute must in the world of email.
Well, that time has come. Gmail and Yahoo have announced they’ll be strengthening their fight against unsolicited emails in 2024 with new requirements, including enhanced email authentication – and that includes DMARC.
DMARC records are a critical part of the DMARC authentication process and understanding how to create yours is key to ensure DMARC is set up correctly.
We discussed the basics of DMARC and how to implement it in our post “What is DMARC and how it works”. Now, we’ll cover what DMARC records are, how to create yours and what each tag means, and how to get it added to your domain’s DNS.
Table of contents
The ‘v’ tag
The ‘p’ policies
The ‘rua’ tag
The ‘ruf’ tag
The ‘rf’ tag
The ‘pct’ tag
The ‘sp’ tag
The ‘adkim’ tag
The ‘aspf’ tag
The ‘ri’ tag
What is a DMARC record?
DMARC records are an integral part of your DMARC compliance – your domain’s authentication handbook, if you will.
In short, a DMARC record is a DNS TXT record that gets added to a domain to specify what should happen to an email that fails SPF and DKIM authentication. DMARC records tell mailbox providers what to do with these unauthenticated messages: do nothing, quarantine them, or reject them.
DMARC records are effectively a short line of text with instructions that is stored in the Domain Name System (DNS). They look just like this:
One of the most important elements in a DMARC record is the policy (p), which can be found at the beginning, but that’s not the only information you’ll find if you look closely.
So, what do all the other tags mean? What valuable information do they provide? Let’s examine each tag in detail.
How to create a DMARC record: The basic tags
DMARC records can contain a range of different tags to let mailbox providers know what to do with incoming email that fails DMARC authentication. Some of these tags are required, some are optional but commonly used, and others are less frequent.
Here’s a table with all the tags we’ll go over in this post – some of the more basic and other less common options you might find useful for your business.
TAG | REQUIRED | WHAT IT DOES |
---|---|---|
TAG | ||
‘v’ | Yes | The ‘v’ tag identifies the DNS record and specifies the DMARC version. |
REQUIRED | ||
‘p’ | Yes | The ‘p’ tag specifies a domain’s DMARC policy: none, quarantine, or reject. |
WHAT IT DOES | ||
‘rua’ | No | The ‘rua’ tag indicates the email address where DMARC aggregate reports for failed email authentications will be sent. |
‘ruf’ | No | The ‘ruf’ tag indicates the email address where DMARC forensic reports for failed email authentications will be sent. |
‘rf’ | No | The ‘rf’ tag declares the forensic reporting format – currently, only ‘afrf’. |
‘pct’ | No | The ‘pct’ tag indicates the percentage of emails that will be quarantined or rejected if authentication fails. |
‘sp’ | No | The ‘sp’ tag specifies a particular DMARC policy for emails coming from subdomains. |
‘adkim’ | No | The ‘adkim’ tag defines what an email must do to pass DKIM authentication. |
‘aspf’ | No | The ‘aspf’ tag defines what an email must do to pass SPF authentication. |
‘ri’ | No | The ‘ri’ tag indicates how often aggregate reports are sent to the email address specified in the ‘rua’ tag. |
Every DMARC record contains at least two tags – the ‘v’ and the ‘p’. But you also want to be sure and include the ‘rua’, and some of these optional tags that can also add valuable information.
Let’s start off by looking at the basic tags in a DMARC record.
The ‘v’ tag
The ‘v’ value is the identifier. It represents the version of DMARC that your domain is using. At this point, ‘v=DMARC1’ is the only version in use.
When the mailbox provider performs a DMARC scan, it’s looking for an identifier. If it doesn’t find one, it doesn’t perform a DMARC check. In other words, the ‘v’ tag makes it known that emails from your domain are eligible for DMARC authentication.
The ‘p’ policies
The ‘p’ tag tells the mailbox provider what to do with messages that fail DMARC. As mentioned earlier, there are three policy options: none, quarantine, and reject. The best policy for you depends on where you are in the process.

This is the most important part of the DMARC record. Let’s look at all three options.
Monitor policy: p=none
The DMARC policy ‘none’ tells the email receiver to do nothing with a message that fails authentication, and to send a report about it to an email address you specify in the DMARC record. This means the email’s recipient will still see the failed email in their inbox. In other words, nothing happens.
Interestingly, the current plans put forth by Yahoo and Google require bulk email senders only to set p=none as their policy, even though it’s the least restrictive choice. But why go to all this trouble to set up DMARC only to tell it to do nothing with emails that fail to pass authentication?
Well, it’s simple: When you’re just getting started, you don’t know exactly what to expect. And if you choose either of the other two policy options, you might get bombarded with thousands or even millions of emails notifying you of emails failing your DMARC checks.
You don’t want that. You might also end up quarantining or rejecting legitimate emails from your brand. You definitely don’t want that, either.
p=none is a good policy to start with so you can see where things stand initially. It’s the monitoring step. You can get a sense of your current data and the reality it represents, and then begin adjusting your DMARC record over time.
Quarantine policy: p=quarantine
The next policy option is ‘quarantine’. This DMARC policy instructs email receivers to filter emails that fail the DMARC checks into the recipient’s spam folder. Then, it sends the DMARC report to an email address you specify, just like with the ‘p=none’ policy.
So, quarantining emails means that recipients can still see and open problematic emails, but they’ll be in their spam folder.
Reject policy: p=reject
The third policy option is ‘reject’. Like the others, it also sends a DMARC report. But additionally, this option completely rejects emails that fail DMARC checks and blocks them from ever reaching the recipient’s email inbox.
As you monitor and adjust your DMARC record, your goal is to reach a point where you can confidently reject all emails from spammers and spoofers attempting to profit off of your brand.
The ‘rua’ tag
The ‘rua’ tag specifies the email address you want to receive all aggregated DMARC reports that will get created whenever an email fails authentication. It looks like this:It looks like this:
You can add any email address you choose to the ‘rua