BIMI Setup Guide: From DMARC Enforcement to a Logo in the Inbox
BIMI is the standard that puts your logo next to your messages in the inbox. It is also the most frequently half-finished piece of email configuration I see, because the record is easy and everything around it — DMARC enforcement, the SVG profile, the certificate — is where the rules live. This is the whole path, in the order that avoids doing anything twice.
Step 1: DMARC has to be enforcing
Receivers will not evaluate BIMI unless the message passed DMARC and the domain's policy is quarantine or reject. If pct is present it must be 100 — and since it was removed in RFC 9989, remove it. Gmail additionally requires the subdomain policy to be enforcing, so sp=none disqualifies you. If your domain is at p=none, the none-to-reject guide comes first; there is no shortcut.
Step 2: convert the logo
The format is SVG Tiny Portable/Secure, a restricted profile of SVG. The rules: root <svg> with version="1.2" and baseProfile="tiny-ps"; a <title> element directly inside it containing the brand name; no x or y attributes on the root; a square viewBox because Gmail crops to a circle; no scripts, external references, embedded raster images, animation or filters; and under 32 KB. Inline CSS is technically disallowed, so convert <style> blocks to presentation attributes.
In practice: export the logo as plain SVG from your design tool, open it in a text editor, change the baseProfile and version, add the title, delete anything that is not a shape, and check the viewBox is square. Then paste it into the BIMI checker's SVG validator, which runs all of those checks in the browser. Solid backgrounds work better than transparent ones once cropped to a circle.
Step 3: host and publish
Serve the file over HTTPS from a URL that does not redirect, ideally on your own domain. Then create the record:
default._bimi.yourdomain.com TXT "v=BIMI1; l=https://yourdomain.com/bimi/logo.svg; a=;"
An empty a= means "no certificate" and is valid. Re-run the checker; it reads the record, confirms DMARC, and fetches the logo if the server allows it.
Step 4: the certificate question
Gmail, Apple Mail and Yahoo only display logos backed by a certificate that proves you are entitled to use the mark. A Verified Mark Certificate requires a registered trademark on the logo and costs on the order of $1,000–1,500 a year from DigiCert or Entrust. The newer Common Mark Certificate drops the trademark requirement in exchange for proof that the logo has been in use for at least a year, at a somewhat lower price. Either way you get a .pem file to host and reference with a=https://…/vmc.pem.
Without one, the record is valid and a handful of smaller receivers show the logo, but the three that matter do not. For a company whose brand is worth protecting the certificate is reasonable. For a cold email fleet it is not, and the practical value of BIMI there is the DMARC enforcement it forces you to complete.
Why it still does not show
In rough order of frequency: DMARC not enforcing on the subdomain the mail is sent from; the message itself failing DMARC because of a non-aligned source; the SVG missing its title or carrying the wrong baseProfile; a redirect on the logo URL; the domain being too new or too low-reputation, because Gmail also applies a reputation gate that is not documented and not appealable; and finally, a certificate whose logo hash does not match the SVG that is actually being served — re-hosting a tweaked logo after the cert was issued breaks it.
Gmail caches BIMI results. After fixing something, allow a day or two before concluding it did not work.
Sources
- BIMI implementation guide — BIMI Group
- SVG Tiny Portable/Secure specification — BIMI Group
- Set up BIMI — Google Workspace Admin Help
Tools for this
BIMI checkerRecord check plus SVG Tiny PS validator.Frequently asked questions
Does BIMI improve deliverability?
Not directly; receivers do not score on it. The DMARC enforcement it requires does, and a displayed logo lifts open rates in the mailboxes that show it.
Can I use a PNG logo?
No. SVG Tiny PS only. Convert real vector artwork rather than tracing a raster image, which produces files far over the 32 KB limit.
Is a VMC required?
Only for Gmail, Apple Mail and Yahoo to display the logo. The record itself is valid without one and some other receivers will show it.
How long until the logo appears?
Once everything is correct, typically within a day or two for Gmail. It also depends on the domain having enough reputation, which is not documented and cannot be forced.
Can I have different logos for different mail streams?
Yes, using selectors — a BIMI-Selector header on the message and a matching selector._bimi record. Almost nobody needs it.