Skip to main content
The Email Love Figma Plugin exports your email design as HTML ready to upload as a Dotdigital custom email template, with Dotdigital’s required unsubscribe placeholder already in place. Unlike most ESP integrations, Dotdigital works as a download: pick Dotdigital from the export dropdown, click Export, and the plugin gives you a zip file. You then upload the HTML through Dotdigital’s own template uploader. Download the Email Love Figma Plugin here

Prerequisites

Before you begin, make sure you have:
  • An active Dotdigital account
  • The Email Love Figma plugin installed
  • At least one email designed in Figma using the plugin
  • An Email Love Footer with an Unsubscribe link pointing to https://unsubscribe.com in your design
  • Image hosting turned on in the export settings (see the note below)
There’s no API key and no login flow. Dotdigital is a download destination, not a direct API push.
Turn image hosting on before you export. Two things depend on it:
  1. The unsubscribe placeholder is only written into the HTML when image hosting is enabled. Export with it off and the link stays as the literal https://unsubscribe.com, and Dotdigital gives you a Campaign save error because every uploaded template must contain an unsubscribe link.
  2. Dotdigital requires images to sit in the same folder as the HTML file and explicitly does not support an images subfolder. The plugin’s local-image export puts them in an Images folder, which Dotdigital won’t resolve. With image hosting on there are no local images to place.
See Image Hosting.
1

Open the Export Panel

  1. Select the email frame you want to export in Figma
  2. Click the Export button in the top right of the plugin
  3. Pick Dotdigital from the export dropdown. You can also start typing “dot” to filter the list.
The dropdown is alphabetised, so Dotdigital sits in the D section of the A–Z list of ESPs underneath the HTML, MJML, and Email Love Builder options.
2

Check Your Export Settings

  1. Make sure image hosting is on, so your images are uploaded to the Email Love CDN and the unsubscribe placeholder is written into the HTML
  2. Check the total file size shown in the export panel. Dotdigital caps individual files at 15 MB and zip uploads at 50 MB, so a normal email is well inside the limit.
3

Export Your Email

  1. With Dotdigital selected, click Export
  2. The plugin sends your design to the Email Love backend, which compiles it to HTML and swaps your unsubscribe link for Dotdigital’s https://$UNSUB$ placeholder
  3. Your browser downloads a zip file containing the HTML
There’s no API call to Dotdigital. The export ends with the download. You’ll upload the file in the next step.
4

Upload the Template to Dotdigital

  1. Unzip the download. You’ll see a .html file (one per template if you exported several).
  2. Log into Dotdigital and go to Content > Templates > Custom email templates
  3. Click Upload template
  4. Drag in or select the .html file, then click Upload
  5. Your template appears under the Custom email templates tab, ready to use in a campaign
Supported file types for this uploader are HTML, HTM, PNG, GIF, JPG, JPEG, CSS and ZIP. See Dotdigital’s guide to uploading a custom HTML email template.

Editing in EasyEditor

An uploaded Email Love template is plain, table-based HTML without EasyEditor template markup, so Dotdigital won’t let you edit it in the EasyEditor design view. It sends normally. This is expected and is how Dotdigital treats any uploaded custom HTML. For ongoing changes, edit in Figma and re-export so your Figma file stays the single source of truth.

Why download instead of direct API push?

Dotdigital’s template upload is a file-based flow in the campaign content area, so the export ends with a zip you upload yourself. You get the same HTML either way.

What the Plugin Does for You

  • Inserts Dotdigital’s unsubscribe placeholder: your Email Love Footer’s https://unsubscribe.com link becomes https://$UNSUB$, which Dotdigital requires in every uploaded template. See Unsubscribe Links.
  • Keeps a custom unsubscribe tag you chose yourself: if you set your own unsubscribe merge tag in the plugin’s Properties panel, the plugin leaves it alone
  • Hosts your images (when image hosting is enabled) so the HTML references CDN URLs that work as soon as you upload, sidestepping Dotdigital’s same-folder image rule
  • Generates responsive, deliverable HTML that renders consistently across major email clients

Troubleshooting

Dotdigital gives a “Campaign save error” when I try to use the template: The uploaded HTML has no unsubscribe link. This almost always means you exported with image hosting off. Re-export with image hosting on and upload the new file. You can confirm by opening the HTML and searching for $UNSUB$: if you see https://unsubscribe.com instead, the pass didn’t run. My unsubscribe link wasn’t converted at all: The plugin only converts links pointing to exactly https://unsubscribe.com. www.unsubscribe.com, http://, or a bare unsubscribe.com are left as-is. See Unsubscribe Links. Images aren’t loading after I upload: If you exported with image hosting off, the zip puts images in an Images folder. Dotdigital requires them in the same folder as the HTML file and won’t resolve a subfolder. Re-export with image hosting on, or flatten the zip so the images sit beside the .html file before uploading. I can’t edit the template in the design view: Expected. Uploaded HTML without EasyEditor markup isn’t editable in EasyEditor. The template still sends correctly. Edit in Figma and re-export instead. Nothing downloads when I click Export: Check your browser’s download permissions for emaillove.com. The export ends with a browser download, so a popup blocker or download prompt may be holding it up. Try Export again from a fresh tab if needed. Need help? Join our Discord community or reach out to our support team at hello@emaillove.com for assistance.
  • Export Overview: Understand all export options and how the plugin converts your Figma design to HTML
  • Unsubscribe Links: How the plugin converts unsubscribe links to each ESP’s merge tag
  • Image Hosting: How the plugin handles image hosting during export