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.comin your design - Image hosting turned on in the export settings (see the note below)
1
Open the Export Panel
- Select the email frame you want to export in Figma
- Click the Export button in the top right of the plugin
- Pick Dotdigital from the export dropdown. You can also start typing “dot” to filter the list.
2
Check Your Export Settings
- 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
- 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
- With Dotdigital selected, click Export
- 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 - Your browser downloads a zip file containing the HTML
4
Upload the Template to Dotdigital
- Unzip the download. You’ll see a
.htmlfile (one per template if you exported several). - Log into Dotdigital and go to Content > Templates > Custom email templates
- Click Upload template
- Drag in or select the
.htmlfile, then click Upload - Your template appears under the Custom email templates tab, ready to use in a campaign
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.comlink becomeshttps://$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.
Related Articles
- 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

