At Calm, we rely heavily on Figma to generate marketing copy proofs for copywriters and other marketing folks to see their text visually in an email mockup.
Typically the process might go as follows:
- Using an existing template, our designer mocks up a series of emails containing rough draft.
- 3-email series x4 population segments = [12 emails x 15 minutes per mockup = 3 hours]
- He shares with the copywriters.
- Copywriters eyeball the design and write new copy to fit the theme of the year. They don’t have Figma seats, so they write their revisions as Figma comments.
- The Designer now transfers the text edits from the Figma comments into the Figma text nodes. [5 minutes per email = 1 hour]
- Designer shares the Figma file back to copywriters. Every round of back-and-forth is 1 hour.
- Now we have to transfer the text from the Figma into email templates! [15 minutes per email = 3 hours]
The total effort is about 7 hours for a 12-email campaign or 35 minutes per email.
Our work process is overly reliant on having access to a Figma license. The process served us well for several years but we came to a crossroads where there are too many back-and-forths between design and copywriting and it was taking up a lot of time.
In effort to streamline or workload, I created a Figma plugin to pull text from a Google sheet
In Figma,
The Figma mockups have a specific # of text layers. I give each text layer a unique name:
Section1_Header
Section1_Body
Section1_Link
In Google Sheet,
Map a Google sheet row-for-row to each text layer.
Figma Layer Name | Google Sheet A | Google Sheet B |
###.Email1 | Email1 | Email2 |
Section1_Header | My first newsletter | My second newsletter |
Section1_Body | I was vacationing in Anaheim with family… | I was on my way to Albuquerque on business… |
Section1_CTA | READ MORE | READ MORE |
Section2_Header | Employee of the month | Employee of the month |
Section2_Body | Edward Heinz wins for achievement in… | Eliza Doolittle wins for achievement in… |
Key difference from other plugins
I setup a Google App Sheets API client so that I could share any Google sheet with a programatically-generated email address (Google provides the email address). I can share any private Sheets document with the special email address rather than making the Sheet publicly viewable. I do not like the idea of a public Sheet.