ActiveCampaign personalization tags: defaults, HTML and DKIM
ActiveCampaign's %FIRSTNAME% prints a blank space when the field is empty. Set a default value, use conditional content, code custom HTML and set up DKIM.
5,000
On this page
- How do ActiveCampaign personalization tags work?
- How do I give %FIRSTNAME% a default value?
- Conditional content as a fallback for one email
- Why is my ActiveCampaign personalization tag not working?
- Can you use personalization tags in the subject line?
- How to use a custom HTML email template in ActiveCampaign
- How to set up an ActiveCampaign sending domain with DKIM and DMARC
- Sources
In ActiveCampaign the first-name personalization tag is %FIRSTNAME%, and when a contact's First Name field is empty, the recipient sees a blank space where the name should be. The tag has no fallback of its own. Give the field a default value under Contacts, Fields, or wrap the greeting in conditional content that shows other words when the name is missing.
In the email
Hi %FIRSTNAME%,%and%- Open and close the tag.
FIRSTNAME- The field's personalization tag. ActiveCampaign generates it, and a custom field's tag can be edited on the field.
|UPPERFIRST- Optional. After a pipe comes one of seven case modifiers. There is no fallback slot.
On the field: Contacts, Fields, the pencil icon
Customize your field options
FIRSTNAMEWhat each contact receives
Orange: the blank, and the one place a fallback can live
Hi %FIRSTNAME%, sent to three contacts. The tag holds no fallback; the default value is set on the field. From ActiveCampaign's personalization tags overview and default value guide, read 31 October 2026. The panel is drawn after its screenshot of a custom field's options; check that your First Name field shows the same Default value box.How do ActiveCampaign personalization tags work?
ActiveCampaign generates a tag for every field: a word in capitals between percent signs, such as %EMAIL%. A custom field's tag can be edited in the field's options, and hyphens are removed from tags you create.
After a pipe, a tag takes one of seven case modifiers, as in %FIRSTNAME|TITLECASE%. The pipe holds nothing else: ActiveCampaign documents no fallback form, so do not expect %FIRSTNAME|there% to print "there".
The tags a custom HTML email uses most, from the overview and the unsubscribe link guide:
| Tag | What it inserts |
|---|---|
%FIRSTNAME%, %LASTNAME%, %FULLNAME% | The contact's names |
%EMAIL% | The contact's email address |
%ORGANIZATION% | The contact's organization |
%UNSUBSCRIBELINK% | A link that unsubscribes the contact from the lists the email went to |
%UNSUBSCRIBELINK%&ALL | The same, from every list, and adds the contact to the exclusion list |
%UPDATELINK% | A link to update subscriptions |
%WEBCOPY%, %WEBCOPY-NOSOCIAL% | A link to the web copy, with or without social sharing links |
%SENDER-INFO%, %SENDER-INFO-SINGLELINE% | Your physical address, on several lines or one |
%TODAY%, %TODAY+1% | Today's date, or tomorrow's |
How do I give %FIRSTNAME% a default value?
The default lives on the field. As of October 2026, ActiveCampaign's steps are: Contacts, Fields, the Contacts tab, then hover over the field, click the pencil icon, type the default value and save. It never shows on the contact record; it is "substituted at the time of personalization" when the field is empty. Standard deal and account fields cannot take one.
Can the standard First Name field take one? The guide excludes only standard deal and account fields, but the overview and the page on editing fields present defaults as a custom field option. ActiveCampaign's community manager wrote in March 2026 that without a default, tags like %FIRSTNAME% leave a blank space and a default fills it. Check for a Default value box on First Name before you rely on it.
A default is one value for every email. "there" reads well after "Hi", less well in a subject line such as "%FIRSTNAME%, your invoice", and the guide does not limit defaults to the body.
Conditional content as a fallback for one email
Conditional content shows or hides content by rules on contact fields, tags and more. In the Email Designer, hover over the three dots beside a block, click the Conditional Content icon and set the rule. Two text blocks, Hi %FIRSTNAME%, and "Hi there,", each under its own rule, cover an empty name in one email.
In a custom HTML campaign, choose Insert, then Conditional Content, set the condition, and ActiveCampaign writes the logic at your cursor. Its example, for a contact tag:
%IF in_array('Interested in cameras', $TAGS)%
Insert Content Here
%ELSE%
Insert Alternative Content Here
%/IF%The page has no example for an empty field. On ActiveCampaign's former community forum, a user reported in 2020 that %IF empty($FIRSTNAME)% worked as the opening line, with the bare greeting before %ELSE% and the named one after it. That is a forum report, not documentation, so preview it.
In that thread, a condition with curly quotes failed. ActiveCampaign lists curly quotes and braces, the percent sign and the backtick as characters known to cause problems in conditional content, so never paste one from a word processor.
Why is my ActiveCampaign personalization tag not working?
- It was a test email. Tags and conditional content do not render in a test send. Use Test and preview, then Desktop preview, with a contact's email address, or send a copy to a test list.
- The field is empty. Then the tag worked; ActiveCampaign's own screenshot reads "Hi ,".
- It is in the preheader. The contact preview does not show preheader text; a test list send does.
- The campaign is text-only. The text-only builder takes no tags.
- The tag is not the field's tag. Insert tags from the menu rather than typing them; the help pages do not say what a mistyped tag prints.
Can you use personalization tags in the subject line?
Yes. Click the lightning bolt in the Subject Line field on the Campaign Settings page and pick a field; the tag lands at the end, so add a space or move it (subject line guide). Preheader text takes a tag typed into its field. Message Variables cannot go in a subject line, and the conditional content guide does not list subject lines, so there the field default is the only documented cover.
%UNSUBSCRIBELINK% and %WEBCOPY% print URLs, so they go in a link's href (web copy guide).
How to use a custom HTML email template in ActiveCampaign
Code can go in three places (as of October 2026):
- The Custom HTML campaign builder. From Email, choose Start from scratch instead; on the Campaign Summary page, open the arrow beside Create with email designer and choose HTML builder (ActiveCampaign). Insert adds personalized content, conditional content, images and RSS.
- The Email Designer's code view. The Code button opens the HTML and CSS of the email or of one block (HTML with the Email Designer).
- An HTML block. In the Classic Designer, leave out the doctype, html, head and body tags, which the designer generates; media queries are not supported there.
For a reusable template: Email, Campaign Templates, Create a Template, Custom HTML, Start from Scratch. A template only works in the designer it was made in (templates overview), and the help pages describe no editable regions like Mailchimp's mc:edit.
What does ActiveCampaign strip from custom HTML?
The HTML builder's design guidance:
- Keep the design 650px wide or less.
- Inline every style; no CSS classes, no shorthand such as
font:, tables rather than floats. - Put nothing above the opening
<body>tag, because anything there "will likely be stripped and unused". - No JavaScript or iframes; absolute image URLs with alt text.
The Email Designer does not support <button>, <form>, <input>, <select>, <textarea>, <iframe>, <script> or <video>. Link tracking, on by default, swaps your URLs for tracking links, and Gmail clips at 102 KB of raw HTML, tracking codes included; more in the Gmail clipping guide.
Which footer tags does ActiveCampaign require?
Every email needs your physical address and an unsubscribe link, so ActiveCampaign adds a default footer. Put %SENDER-INFO% (or %SENDER-INFO-SINGLELINE%) and %UNSUBSCRIBELINK% in your own HTML and the default footer goes; typed text does not count. The address comes from Settings, Addresses, and without one, emails stay in draft. An obscured unsubscribe link triggers a compliance review.
The free editor exports HTML for ActiveCampaign with tags such as %FIRSTNAME%, footer links on %UNSUBSCRIBELINK% and %WEBCOPY%, and fallbacks dropped and listed in the export notes, to set as field defaults. It does not write %SENDER-INFO%, so add it or the default footer stays.
How to set up an ActiveCampaign sending domain with DKIM and DMARC
You must verify a domain before sending, and setting it up covers DKIM, SPF and DMARC. As of October 2026 it is under Settings, Advanced, Sending Domain. Configure Domain signs in to a listed DNS provider and writes the records. Set up manually emails a verification link, valid seven days, to an address at the domain, then shows four records.
What you publish
acdkim1._domainkey.example.comdkim.acdkim1.acems1.comPoints to a 2048-bit key ActiveCampaign publishes, so it can sign as example.com.acdkim2._domainkey.example.comdkim.acdkim2.acems1.comA second key, published the same way.em-12345.example.comcmd.emsend1.comYour Return-Path. The target publishes the SPF record, so your own SPF record stays as it is._dmarc.example.comv=DMARC1;p=none;A basic policy. Skip it if the domain already has one.What Gmail shows for a message from you@example.com
acems1.comNothings7.acems1.comem-12345.example.comacems1.comexample.comUnderlined in orange: the selectors, and the signing domain that now matches your From address
Skipping it has a visible cost: for accounts under 5,000 contacts, ActiveCampaign is gradually replacing an unauthenticated From address with a generic one such as myname.my-domain.com.1@12345.emcampaign.com.
Which DKIM selectors does ActiveCampaign use?
acdkim1 and acdkim2, as two CNAMEs at acdkim1._domainkey and acdkim2._domainkey; enter the full acdkim1._domainkey.example.com only if your DNS host does not append the domain. The setup screenshot cuts the targets short, but ActiveCampaign's own domain points them at dkim.acdkim1.acems1.com and dkim.acdkim2.acems1.com, both 2048-bit RSA keys in public DNS on 31 October 2026. DKIM set up by CNAME has used a 2048-bit key since February 2022; an older TXT setup keeps a 1024-bit key until moved.
Does ActiveCampaign need an SPF record?
Not on your domain. The Mailserver Domain record points a host such as em-12345 at cmd.emsend1.com, which publishes the SPF record. That host becomes your Return-Path, so SPF passes and aligns without touching your own record (ActiveCampaign). ActiveCampaign still suggests include:emsd1.com in your own SPF record if you send to France, China or Germany or struggle with Outlook (Advanced Settings FAQ); merge it into your one record and mind the 10-lookup limit.
Does ActiveCampaign's DKIM align with your From domain?
Yes, once the records are live: the DKIM domain becomes your From domain, which DMARC needs, and Gmail drops the "via acems1.com" beside your name. The Mailserver Domain aligns SPF too, in relaxed mode, as a subdomain of yours.
The fourth record, v=DMARC1;p=none;, is what ActiveCampaign calls a placeholder that meets Gmail's and Yahoo's requirement. If your domain already has a DMARC record, keep it: Configure Domain does not add a second, and a receiver that finds more than one discards them all. Tighten the policy only once DKIM passes, or your mail fails DMARC; see the sender requirements.
Can you brand ActiveCampaign's tracking links?
Yes, with a custom domain, which plays no part in DMARC: a CNAME from a subdomain such as newsletter.example.com to your activehosted.com account address, saved under Settings, Domains (custom domain guide). Campaigns then track links on it. The alignment page lists it for Enterprise accounts.
How to check it once it is live
Records usually propagate in 5 to 10 minutes, rarely 24 hours. Under Settings, Advanced, the domain should read Authenticated; if not, use Recheck Authentication or Resolve Issues (ActiveCampaign). From outside:
dig +short CNAME acdkim1._domainkey.example.com
dig +short CNAME acdkim2._domainkey.example.com
dig +short TXT _dmarc.example.comThen send to a test list and look for dkim=pass with your domain and dmarc=pass in the Authentication-Results header, or paste the headers into the header analyzer.
The free mail-merge preview flags every empty merge field in a contact export, so you see who gets the default. The DKIM checker takes acdkim1 as the selector, and the email domain checker reads SPF, DKIM and DMARC. Draftship also builds and runs outbound inside a client's own platform.
Sources
- help.activecampaign.comthe recipient sees a blank space
- help.activecampaign.comGive the field a default value under Contacts, Fields, or wrap the greeting in conditional content that shows other words when the name is missing
- help.activecampaign.comgenerates a tag for every field
- help.activecampaign.comA custom field's tag can be edited in the field's options, and hyphens are removed from tags you create
- help.activecampaign.comThe tags a custom HTML email uses most, from the overview and the unsubscribe link guide
- web.archive.orgwithout a default, tags like %FIRSTNAME% leave a blank space
- web.archive.orgOn ActiveCampaign's former community forum, a user reported in 2020 that %IF empty($FIRSTNAME)% worked as the opening line, with the bare greeting before %ELSE% and the named one after it
- help.activecampaign.comTags and conditional content do not render
- help.activecampaign.coma contact's email address
- help.activecampaign.comThe text-only builder takes no tags
- help.activecampaign.comClick the lightning bolt in the Subject Line field on the Campaign Settings page and pick a field; the tag lands at the end, so add a space or move it
- help.activecampaign.comtyped into its field
- help.activecampaign.comcannot go in a subject line
- help.activecampaign.com%UNSUBSCRIBELINK% and %WEBCOPY% print URLs, so they go in a link's href
- help.activecampaign.comFrom Email, choose Start from scratch instead; on the Campaign Summary page, open the arrow beside Create with email designer and choose HTML builder
- help.activecampaign.comHTML with the Email Designer
- help.activecampaign.comleave out the doctype, html, head and body tags
- help.activecampaign.comA template only works in the designer it was made in , and the help pages describe no editable regions like Mailchimp's mc:edit
- help.activecampaign.comswaps your URLs for tracking links
- help.activecampaign.comLink tracking, on by default, swaps your URLs for tracking links, and Gmail clips at 102 KB of raw HTML, tracking codes included; more in the Gmail clipping guide
- help.activecampaign.comthe default footer goes
- help.activecampaign.comThe address comes from Settings, Addresses, and without one, emails stay in draft
- help.activecampaign.comtriggers a compliance review
- help.activecampaign.comcovers DKIM, SPF and DMARC
- dns.googleThe setup screenshot cuts the targets short, but ActiveCampaign's own domain points them at dkim.acdkim1.acems1.com
- dns.googleThe setup screenshot cuts the targets short, but ActiveCampaign's own domain points them at dkim.acdkim1.acems1.com and dkim.acdkim2.acems1.com, both 2048-bit RSA keys in public DNS on 31 October 2026
- help.activecampaign.comused a 2048-bit key since February 2022
- dns.googlepublishes the SPF record
- help.activecampaign.comThat host becomes your Return-Path, so SPF passes and aligns without touching your own record
- help.activecampaign.comActiveCampaign still suggests include:emsd1.com in your own SPF record if you send to France, China or Germany or struggle with Outlook
- help.activecampaign.commerge it into your one record
- rfc-editor.orgmore than one discards them all
- help.activecampaign.comTighten the policy only once DKIM passes, or your mail fails DMARC; see the sender requirements
- help.activecampaign.comYes, with a custom domain, which plays no part in DMARC: a CNAME from a subdomain such as newsletter.example.com to your activehosted.com account address, saved under Settings, Domains
- help.activecampaign.comtrack links on it