Help · Content
Email templates
Every email you send is built from a template: a document holding the subject line, the preview text, the From name, and the body — sections, the columns inside them, and the blocks inside those.
Templates live under Content → Templates, in two tabs: Templates and Library. Open a template and you are in the editor — the controls on the left, a live preview of the email on the right.
The email belongs to the campaign
Each campaign owns its own email. When you create a campaign you give it an email, and from then on that email is the campaign's. Editing it changes that campaign and nothing else.
That is deliberate. It means you can never break last month's newsletter by tidying up this month's, and it means a campaign you have already sent is a permanent record of what people actually received.
Starting points, and saving a template
A new email starts from a starting point, and everything about it is yours to change from that moment on. Some name the email you came here to write and some name a shape to fill however you like:
- Welcome — a greeting, one image and a button, for the first email somebody gets from you.
- Sale — a large headline for your offer, a line under it and one button. There is no discount in it. You add the discount block yourself, in the moment you have a discount to choose, so a new email is never sitting there waiting on one.
- New arrivals — a heading over four products from your store. The products are picked as the email goes out, so there is nothing for you to choose now and the email is never out of date.
- Newsletter — a masthead, an image, two short pieces and a button.
- A letter — a greeting and a paragraph under it, lined up on the left.
- Centered with a button — a large heading, one sentence and a button, all centered.
- Blank — one section with a single line of text in it, and nothing else.
Every part of one can be changed, including the words, and none of them is “for” anything in a way that binds you — Sale is a good shape for a launch too. Each one already carries the unsubscribe link and your store address, so nothing is missing that would stop the email going out.
Welcome and Newsletter start with an image in them — the one your store's library came with — for you to swap for your own. If that image is not in your library, they start without it rather than with an empty frame.
Choosing one
Create template opens a screen with the starting points down the left and the one you pick drawn on the right, full size and exactly as it will arrive. Nothing is chosen when you get there, so the first thing you do is look.
Under them is Your templates: the ones you have saved, most recently edited first, with See all templates for the rest. They are drawn on the right the same way, so you can look at what you already have before you decide. Edit opens the one you are looking at in the editor. To build on one of your own rather than start again, Clone it from the Templates index — that is what makes the copy.
Desktop and Mobile above the drawing switch between the two views, at the same widths the editor uses, so an email that reads well here reads the same way once you are editing it.
The field at the top of the list narrows both groups by name.
At the foot of the list is Or import a template file, for an email written somewhere else. Importing an email you already have, further down this page, is what happens next.
Then you name it and press Create template. The name field appears once you have chosen, because the name is what you call the thing you picked.
Saving a template to start from
A template that no campaign owns is one you keep aside to start from. You make one with Save as a new template from any version of an email you like — including an email that belongs to a campaign or to a step of an automation. Campaigns and automations can both start from a saved template, too.
Saving as a new template makes a copy. There is no live link back: editing the new template later does not touch the campaign or automation it came from, and editing that campaign or automation does not touch the template. If you want a piece that stays in step across many emails, that is what the Library is for.
The editor
Opening a template puts the controls on the left and a live preview of the email on the right.
Three tabs run across the top, and Email is the one it opens on.
- Email — the template's name, the subject line, the preview text, the From name, and the colors the whole email is built from. The name is only ever seen by you, and it saves when you leave the field.
The From name is who the email comes from, and it is the third thing an inbox shows before anybody opens anything. Leave it empty and the email sends under your store’s own From name, which you set once in Settings → Store; fill it in and this email alone comes from what you typed. It does not have to be your store's name: “Debra @ Mommy Makeup” names a person at a store, and a name with an @ in it is perfectly fine. An actual email address is not — “debra@mommymakeup.com” is refused, and the box says why as you type.
Talaria can suggest the subject line. Press Suggest beside it and Talaria reads the email you have written and offers up to three subject lines, each with the preview text that goes under it. Nothing changes until you pick one; picking fills both fields at once, and you can edit either afterwards. Press Suggest again for a fresh set.
- Content — the email's structure: its sections, the columns inside them, and the blocks inside those. Pick any row and its own controls appear underneath. Its menu moves the row, clones it, or removes it, and a row can be dragged by its handle.
- Versions — save a version, restore an older one, or save one as a new template to start other emails from.
Every panel is a stack of named cards. Pick a block and its controls arrive grouped under a word each, in the same order every time: what the block shows first (Words, Image, Products, Code), then how it reads (Text, or Button text), then its box (Block background, Block border, Padding, Margin). A control always sits in the card for the thing it changes, so a color is never several controls away from what it colors, and a card that names its owner — Button padding beside Block padding — is telling you there are two of them on this panel.
A card's own control sits on the same line as its name. Where a card asks which KIND of thing it is, that choice is on the heading row — Block background with None · Color · Gradient beside it — and only what you chose appears underneath. Where a card holds a single control, the control is on that line too: Placement is the three alignment marks, and a space block is a card called Height with the number on it.
A sentence you only need once sits behind the ⓘ beside a card's name. What the padding is, what a discount's terms line is for, what Outlook does with a shadow. What is on the panel in plain sight is what changes right now: a warning, a choice that is not available and why, or something still loading.
A new section arrives looking like the one above it. It takes that section's padding and its background, because after five minutes spent getting one section right, the next one you add is almost always meant to match. The first section of an email has nothing above it, so it keeps the starting defaults. Either way it is only a copy made at that moment — changing one section afterwards never changes the other.
Blocks are added from a grid of tiles, grouped by kind: Content, Spacing and From your Library. A tile you cannot use right now is grayed rather than hidden, with the reason written on it — the column is already as full as a column can be, say, or your Library is empty. The vocabulary is the same size every time you look at it.
A tile can be clicked, or carried. Click one and the block is added where the outline said. Drag one onto the email on the right and the places it can go open up between the blocks — let go on the one you want, and that is where it lands. The email is drawn with nothing between the blocks until you pick a tile up, so what you see on the right is what will arrive.
A whole Library element is placed from the top of the outline instead. A header or a footer is a section, not a block, so beside Add a section there is Add from your Library: choose the element and it arrives as a section of its own, carrying the element's own name in the outline rather than a number. That door is grayed with its reason when there is nothing published to place, or when the email already holds as many sections as one email can. The tile inside a column is still there for placing a saved section among other blocks.
It saves itself. A second after you stop typing, your working copy is written, and the mark beside the template's name tells you when. There is no Save button, and leaving the page loses nothing. Nothing is emailed to anyone until you send a campaign built from this template.
Undo and redo are for the email, not the browser. They walk back through the changes you made here.
If someone else edits the same template while you have it open, saving stops and the screen says so. That is deliberate: carrying on would mean overwriting work you have never seen. Load the template again and you will have theirs.
A template in the archive can be read but not changed. Take it out of the archive to work on it again.
Moving things around, and cloning them
A block can go in any column of the email. Drag it by its handle onto the line you want it to sit beside — in the same column, in the column next to it, or in a different section entirely. The bar shows where it will land: above the line when you are over the top half of it, below when you are over the bottom.
An empty column takes a block too. Drop it onto the Nothing in this column yet row and that is where it goes.
A section stays among the sections. It carries its columns and everything in them with it, so there is nowhere else for it to go.
Everything a drag does, the menu does. Move up and Move down in a line's ⋮ move it one place — and for a block, one place past the end of its column is the start of the next one, so those two items alone can walk a block anywhere in the email. When there is nowhere left to go, or the column it would move into is already as full as a column can be, the menu item is grayed with the reason on it.
Across a section boundary, by name. Two sections' blocks are never on screen together, so the one move a drag cannot make carries a name instead: Move to section… in the line's ⋮ lists the other sections and sends the block to the one you choose. It is drawn only when there is somewhere else to send it.
The list works from the keyboard. Tab reaches it once — once for the list, not once for every line in it — and from there the up and down arrows walk between the lines. Home and End jump to the first line and the last, Enter opens the line you are on, and Delete takes it out. The arrows only ever walk; they never move a block. Pressing Down to read the next line and finding you have rearranged the email instead is the reason moving is a named act in the ⋮, where it can also say why it cannot.
Clone puts a copy right below the original. Everything comes with it — every setting, every color, every word — so it is the quick way to a second button, or to a second section built like the first. Cloning a section copies its columns and all the blocks in them. A block that follows a Library element clones as a second follower of the same element, which is what keeping its settings means. If the column or the email is already as full as it can be, the menu item says so instead of doing it.
Writing the words
A text block is one writing surface. Pick the block and type the whole thing in one place, the way you would write anywhere else. A small row of controls sits on top of it.
To style words, select them first, then press B, I or U — or use Cmd-B, Cmd-I and Cmd-U (Ctrl on Windows). The controls are grayed until something is selected, because there is nothing for them to act on until then. Press the same one again to take the styling back off.
To make words a link, select them and press Link. A row appears under the surface asking Where it goes. One field answers it: paste a link and it stays that link, or type anything else and it searches your store — your products, your collections, your pages, and the two places every store has, the Home page and All products. Words inside a sentence can also point at The unsubscribe link, which is the one place that choice belongs. Put your caret anywhere in a link later and the same row comes back, so you can change where it points or remove the link and keep the words. The Where a link goes page has the whole of it.
Insert opens a menu of things filled in when the email is built: First name, Store name and Store address. Choosing one drops it in where your caret is.
A variable reads as part of your sentence, in the same type as everything around it, marked only lightly so you can tell it apart. Hey First name! is what you write, and what each person receives is Hey Dana! — or your fallback word, if you have not got their name. It behaves as one thing: a single press of backspace takes all of it, never half.
Click a First name variable to set what it writes when you do not know the name. "there" turns Hey First name! into Hey there! for anyone whose first name you have not got. Store name and Store address never need one; they come from your own store record.
Your own profile properties are variables too — a skin type, a size, a pet's name — and unlike a first name, every one of them has to carry a fallback. Most people on your list will not have every property filled in, and a sentence written around a value most people do not have needs a word to fall back to. The Profile properties page explains why, and what prints when the value is a list rather than a word.
Enter starts a new line inside the same block.
Pasted text arrives as words. Fonts, colors and styling from wherever you copied it are dropped — this block is for writing, and the email will use the type and colors you set here. If you genuinely need somebody else's markup, that is what the pasted HTML block is for.
One unbroken stretch of writing can be 2,000 characters. If a change would go over, it is not made and a line says so, so nothing you typed is ever quietly cut off the end. Break the paragraph up, or carry on in a second text block.
Headings
A heading is its own block, added from the same grid, sitting beside Text in the Content group. It is written and styled exactly the way a paragraph is — size, line spacing, alignment, color, typeface, a background and a border — so there is nothing new to learn about it.
What makes it a heading is two things you do not have to set. It arrives at a heading's size, in your store's heading typeface, and already bold. And it goes out marked up as a heading, which is what lets a screen reader announce it as one and lets a reader skimming your email see the shape of it before they read a word.
There are no heading levels. No H1, H2, H3 ladder to keep straight — a heading is a heading, and if you want a smaller one you change its size, the same way you would on any other block.
Its typeface starts as your store's heading typeface and you can change it on any single heading, exactly as you can on a paragraph. The menu puts your store's heading face at the top of the list so you can always see which one is yours. You set that face once in Settings → Email.
The preview
The preview is the real email, rendered the way it will be sent, not a sketch of it. It updates a moment after each change is saved.
Two widths — on desktop and on mobile. Both show the same email; the mobile one is what a narrow screen does with it. Neither re-lays the email out to fit the pane, so what you see is what arrives.
"Designed dark palette (Apple Mail and iOS)" shows the colors you chose for a dark inbox. If this template has no dark palette, the switch says so: the email stays light, which is a choice you can change under Email. This switch is the only thing that darkens the preview — if your own device is set to dark mode, the preview ignores that and keeps showing you the light email until you ask for the other one.
Under the preview is the size of the email a mailbox would receive, and what that size means. See Size, below.
The colors the email is built from
Under Email are the two colors the whole template draws in: a text color and an accent. The ground the email sits on has a heading of its own, just below them.
Page
This is the page behind the email — the area outside its 600-pixel width — and the line around the email itself. It never changes a section's own background. A section carries its own background, and the two are set in different places on purpose.
The ground is one question with three answers: a Color, a Gradient, or an Image. The color field is the same one whichever answer you pick, and switching between them never loses it — a gradient's first color is the ground color, and an image's color is what shows through it.
- Color is the plain answer and the one every template starts on. A design you imported from another email service arrives with the page color the original had, sitting in this same field — change it here and the email changes with it.
- Gradient is an angle and two or three colors, each set where you want it along the blend — the same control the forms editor uses. Some inboxes draw no gradient and show the first color instead, which is worth knowing before you build a design around a blend nobody there will see.
- Image opens your library. Choose one and it fills the page behind the email; you can put a tint over it, or take it away again, from the same place. Some mailboxes will not draw it and will show your color instead, so pick a color that stands on its own. Press Image again to change it — it opens the library a second time.
An image on the page gets an Image fit too — Fill, Tile or Fit width, the same three answers a section's image gets, described under Backgrounds and borders below. A page is usually the place you want Tile: the area outside the email is as tall as the reader's window, and one image stretched over it rarely survives the stretch.
Email border is drawn around the email itself, at its 600-pixel width — not around the area outside it, which is why it is a card of its own rather than part of the page's background. It is a width, a kind of line and a color, the same row a section's border gets. Set the width to 0 and the border goes away rather than becoming an invisible one.
In a dark inbox, your dark palette's background replaces the ground color. A gradient or an image you set here is still drawn over it. See How your email arrives, below.
How links look
Links are set once, for the whole template, under Email. There is no per-link color: every link in your words gets the same look, which is what makes a link recognizable as one rather than as a word somebody colored.
Left alone, a link takes the color of the text around it and is underlined. That is what every template does until you say otherwise, and it is a perfectly good answer — the underline is doing the work.
Turn on "Custom link style" and you set two things: the color, and whether links are underlined. The color starts as your accent, and you can change it to anything.
The unsubscribe link is the one exception: it always keeps its underline, whatever the switch says, and if its color would disappear into the background it is corrected to one that reads. An email is never allowed to hide its way out — that rule protects every email you send, and it is not a setting.
The color is a light-inbox color. For somebody reading with a dark palette, links take your dark text color along with the words around them — a link color is not one of the three colors a dark palette carries. So the underline is what still marks a link there, and turning it off is worth thinking about twice if your template has dark colors. See How your email arrives, below.
The unsubscribe link and your store address
In a new email both of those lines are ordinary paragraphs, so you style them the way you style any other words. The way out is the phrase unsubscribe here linked inside a sentence you can rewrite, and the address is a Store address field in the paragraph under it — select either block and its size, line spacing, alignment, color and typeface are all yours. (Older templates carry them as dedicated blocks instead; those offer the same four controls on their own panel. Both shapes are described in full under The two lines every email must carry, below.)
Wherever the address and the unsubscribe link sit, they are kept readable. Both lines have to be visible — an address nobody can see does not count as one — so if the color you pick disappears into the band behind it, that line is drawn in a stronger one instead and a note under the color tells you it happened. It applies to the linked phrase and the address field inside a paragraph exactly as it does to the older blocks. Nothing is refused when you save; you can pick any color you like, and this is the floor under it.
Backgrounds and borders
Every section, and every block that draws a box, can carry a background and a line around it. Sections get three answers: a Color, a Gradient, or an Image. Blocks get the first two, plus None — a block with no background of its own lets the section behind it show through, which is not the same as a white block.
On a section, they are called Section background and Section border, on a column Column border, Column padding and Column corners, and on a block Block background and Block border. The panels sit one under the other and ask the same questions, so each card says which of them it belongs to — you never have to scroll back up to a heading to find out what you are about to change.
A gradient is an angle and two or three colors. Set the angle in degrees, give each color its own position along the blend, and add a third with Add a color or drop back to two. The first color does double duty: some inboxes draw no gradient and show that first color on its own instead. That is worth knowing before you build a design around a blend nobody there will see.
A background image belongs to a section. Choosing Image under Section background opens your images; the color stays on offer underneath, because the color is what shows through the image and what older mailboxes paint in its place. You can put a tint over the image, and take the image away again, from the same place. A block that wants a photograph behind it wants an image block instead.
Image fit decides how the image meets the area. It appears as soon as you choose an image, on a section and on the page alike, and it has three answers:
- Fill stretches one image over the whole area and crops whatever hangs over the edges. This is what an image did before this control existed, and it is what a photograph almost always wants.
- Tile repeats the image at its own size, across and down, like wallpaper. A small texture or a pattern wants this — under Fill a 64-pixel pattern is blown up to the width of the email and goes soft.
- Fit width scales the image to the width and repeats it downward. Use it for a band or a stripe that should run the full width and carry on down a tall section.
Your color still sits underneath in all three, so a mailbox that will not draw the image shows the color instead.
A border is a width, a kind of line and a color, on one row. Solid, dashed or dotted. No border is a width of nothing — set the width to 0 and the border goes away rather than becoming an invisible one. A button has a second one of its own, drawn around the button rather than around the block — see below.
A divider and a space have neither, on purpose: a divider already is a line, so a box around it would be two lines saying one thing, and a space is meant to be invisible.
A divider does get padding, margin and a width, though. Set the width in percent or in pixels and the line is centered in its column — a short rule between two paragraphs reads very differently from one that runs edge to edge. 100 % is full width and is what a new divider starts at. Padding and margin work the way they do on every other block: they are the room the line leaves above and below itself.
A button's own border and shadow
The border on a block is drawn around the block, not around the button inside it. So a button carries its own, set with the button's other controls under Button border — the same width, kind of line and color, applied to the button itself. The box around the block is still there, named Block background and Block border further down the same pane so the two are never mistaken for each other; they are independent, and you can use either, both or neither.
A button can also have a soft drop shadow, and it starts off. It lives on the Button background card, with the rest of what sits behind the button's words. Switch Shadow from None to Soft and it appears in a soft gray, which you can then change to any color. There is one setting rather than four: the distance and the softness are chosen for you, because a shadow you compose by hand is a shadow that looks wrong in a mailbox you cannot preview.
Outlook for Windows shows the button with no shadow, and draws a dashed or dotted button border as a solid line. The button is drawn there exactly as you set it otherwise — its color, its words, the width and color of its border — so what that mailbox loses is the softness and the dashes, never the shape. Both are costs worth knowing about before you build a design that depends on either.
Headings have no shadow, and will not get one. The mailboxes most of your readers use strip a shadow off text and leave the words as they were, so a control for it would be a setting that does nothing where it matters most.
A column's own box
A column can carry four things of its own: a background color, a border, padding, and rounded corners. Select a column — click its label in the outline, or the Nothing in this column yet line if it is empty — and the controls appear above the block tiles.
They are the same controls a section and a block already use, and they mean the same things. Column background is one flat color: a column that has one paints over the section behind it, inside its own rounded corners, and a column that has none is see-through. Press the × beside the color to clear it and go back to see-through. A border is a width, a kind of line and a color; set the width to 0 and the border goes away. Padding is the space inside the column, between its blocks and its edge. Corners round the border.
A column background is a color, and only a color. There is no gradient and no image here — those are the section's to set, on the band the whole row sits on. A column's job is the card inside that band.
The gap between two columns is yours to set. On the section's panel, Columns, Gap and Section background share the top row, and the widths sit under them. Gap is the space between one column and the next, from 0 to 64 pixels; it starts at 16. Set it to 0 and the columns touch, which is how two images sit side by side with no seam between them. A section of one column has no gap to set.
This is how you draw a card. A filled, bordered, padded column with rounded corners beside a plain one is the shape most people are reaching for when they ask for boxes side by side, and it needs nothing but these four controls.
Older versions of Outlook show square corners. The border and the padding are drawn there exactly as you set them; only the rounding is missing. Nothing else changes, so an email built this way still reads correctly in that mailbox.
There is no margin on a column, and that is deliberate. The width of an email is fixed, and your columns divide that width between them. Space outside a column would push the row past what the email has, and the last column would drop onto its own line in some mailboxes. So the space around a row of columns is the section's padding, and the space between two columns is the section's Gap. Everything you can set on a column is drawn inside it, where it is safe.
A column keeps its box when you change the column count. Go from one column to two and the first column keeps the border and padding you gave it; the new column starts plain.
Padding and margin
Every block that draws a box carries two spaces, and they are different spaces. Padding is inside — from what the block says to the edge of its background or its border. Margin is outside — from this block to the ones above and below it. Each is a set of four numbers with switches for moving sides together, and each has a row of common values.
The difference only shows once a block has a background: padding pushes the words away from the edge of the color, margin pushes the color away from its neighbors. With no background at all the two look the same on screen, and they are still different things.
A button is the one exception. Its Padding is the space inside the button itself, set with the button's own controls, so the box section offers it a margin only. A divider gets both, alongside its own width.
The Space block is still there and still worth using for a deliberate gap that belongs to nothing in particular.
An image set to Full width that still is not edge to edge — the most-asked spacing question in every email editor, and here is the whole answer: the space you are seeing belongs to the section, not the image. An image fills its column; the column sits inside the section's padding. Set the image's padding and margin to zero and the section's padding to zero, and the image runs edge to edge. If you have built emails in other tools, you have hunted this exact gap before — the rule is the same everywhere, it is just rarely written down.
What is unfinished
A template is allowed to be unfinished while you work on it. Nothing here refuses to save. What the editor does instead is tell you: a notice above the outline on the Content tab lists what would stop a campaign built from this template going out, under These stop a send, and anything else worth knowing under Worth knowing.
When there is nothing to say, nothing is shown. A permanent all-clear is a place you learn to skip, and then you skip the real finding with it.
Click a finding and the editor takes you to the block it is about. Some are about the email as a whole — a missing unsubscribe link, for instance — and those have nowhere to take you.
The same checks run again when you schedule a campaign, and that is what refuses. See What stops an email from going out, below.
Choosing an image, and describing it
An image block shows the image you chose, with the words that describe it, and offers to change it or to describe it differently.
The description belongs to the image, not to this email. Editing it here changes what that image is called everywhere it appears — in every other template and in every form. That is deliberate: an image means the same thing wherever it is used, and describing it twice is two answers that drift apart. The words are read aloud to anyone using a screen reader, and shown when a mailbox blocks images.
Rounding an image's corners
An image can have rounded corners, and all four are set on their own. Image corners is the third card on the image block's panel, directly under Image and Size, because what it rounds is the image itself. Set one number and the whole image rounds; unlink the four and the top two can round while the bottom two stay square.
The width is asked once. Under Size, choose Full width or A set width; choosing the second puts a pixel box beside it. There is one Width label over the pair, not one over each.
That top-rounded, bottom-square shape is the one most people are after. It is how an image sits flush on a panel of text below it — rounded where it meets the air, square where it meets the block underneath.
The border follows the corners you set. Give the block a border and the line rounds with the image instead of drawing a square around it. A background color on the block rounds the same way. If the block has no padding the line hugs the image; add padding and it becomes a rounded frame with space inside. The frame is drawn at the image's size, so an image narrower than the column gets a border and a background around the image itself, never a rectangle stretched across the space beside it.
Older versions of Outlook show square corners. Everything else in the block is drawn there exactly as you set it; only the rounding is missing. An email built this way still reads correctly in that mailbox.
Where a button or an image points
A button's link, and an image's, is one field asking Where it goes — and on an image an empty one simply means the image is not a link. Type a web address and it stays one; type anything else and the field searches your store, so a button can point at a product, a collection or one of your pages without your ever going to look up its address. What is stored is which thing you chose, not its address, so renaming it in Shopify never breaks the link.
A link inside a paragraph has one more option. Put your caret in the link and the row under the writing surface asks Where it goes: the same field, plus The unsubscribe link — which is how the footer sentence is written, and how you write your own. Choosing the unsubscribe link takes the field away, because that address is built for each person when the email goes out and there is nothing for you to type.
A button that already points at the unsubscribe link — one that came in from an imported template, say — says so where the field would be, and offers one way back: point it at a link instead.
The whole of it is on the Where a link goes page — what the search offers, what a grayed row means, what happens to a link whose product or page has left your store, and why pages can be a day behind.
A block showing products from your store points at those products. Which products it shows is set here, on the block's own panel — by hand from your catalog, or by a rule such as your best sellers or what that person left in their checkout. The Products in an email page covers the nine ways to fill one and the catalog picker behind them.
How a product card looks is yours, even though the words are not. A product's name and its price come from your store, but the block's panel gives you a Name, a Price and a Button row — size, alignment, color and typeface for the two lines, and the same controls a button block has for the button under them. Leave them alone and the card is drawn the way it always was, in your email's own colors and face.
The discount block
The discount block is the whole offer. It says which discount the email gives away, it carries the words around the code, and it says how long each person has to use it. There is no second step attaching a discount to the campaign: a campaign or an automation gives a discount away by using an email that carries one of these blocks, so an email you clone or reuse carries its offer with it, and taking the block out takes the offer away.
Its panel asks, in order:
- Which discount. The code discounts you have made in Shopify. There is no discount editor here and there will not be one — your pricing rules belong where the rest of your store's pricing lives. A discount that has ended, or that has not started yet, is still in the list and says which it is, rather than quietly missing.
- Which code, but only when the discount you chose gives away its own code rather than one per person. A discount with no codes of its own says so instead of showing you an empty menu.
- A heading, in your own words, above the code — with its own size, alignment, color and typeface. Leave it empty and no heading line is drawn.
- The code itself: how big, where on the line, what color. The code is the subject of the block, and a link besides, so it is usually large and centered.
The rest of the block is two cards. Discount details is what the email says about the offer under the code; Details text — size, alignment, color and typeface — is how it is drawn, for the terms line and the date together, because they are two halves of one sentence. Leave those alone and they are drawn the way they always were, in your email's own text color.
- Where the terms line comes from — the Shopify default, exactly as it reads in your store and shown underneath in full so you can read all of it; Your description, which starts from that wording so you are rewriting rather than starting over; or Do not show it. Without a terms line, people write in to ask what the code is for.
- Expires — until the discount ends, or a number of days after they receive it. This is always on the card, whether or not the email prints a date, because it is the deadline the code is actually checked against when somebody tries to use it.
- Show the expiration date, which is a separate question: whether the email prints that deadline. On, and a short sentence follows — Use by the date — whose first words are yours to change: Use by to begin with, and Valid through or Offer ends if you prefer. The date itself is the one this app enforces, and you cannot type it; press the ⓘ beside the switch for what it is checked against. Turning the date off does not make the discount last longer. If your discount has no end date there is no date to show, and the switch for it appears once you give the block a number of days or the discount an end date in your store.
The code is a link, and so is the button beside it. Either one opens your store with the discount already applied, so nobody has to copy anything. Readers land on your homepage unless you pick a product, collection or page.
The button can be turned off, and what it says is yours to write — it starts at Shop with this code. Where it goes is the same one link field the rest of the editor uses, so a product, a collection or a page of your store is a search away; the Where a link goes page has the whole of it. A destination outside your own store cannot carry a discount code, so readers land on your store's front page with the discount applied instead, and the editor's checks say so before you send.
The code is filled in when the email is sent, and never before. The editor and a test send show SAMPLE20 in its place when each person gets their own code — a real-looking code in a screenshot is one somebody types into a checkout. When the discount gives away your own code, the editor shows that code, because it is a real string that already exists.
What the block cannot do yet. Automations cannot give discount codes away — an automation whose email carries a discount block is refused when you publish it. The Discounts help page has the whole story, including what happens when a code is used.
Social links
A row of icons, one per network, each one linking to your own page there. Add it from Social links in the Add panel. A new row arrives as a single globe pointing at your storefront, so it works before you have touched it; you change the network and the address from there.
Its panel asks two things.
Where they go. One row per icon, in the order they are drawn. Each row is a network and the address of your page on it — Facebook, Instagram, TikTok, X, Pinterest, YouTube, LinkedIn, Threads, Snapchat, and Website for anything else you want in the band. Addresses must start with https://. A row holds eight networks. You cannot remove the last one — a band with no icons in it is an empty strip nobody can see and nobody can explain — so take the whole block out instead.
If you put the same network in twice, the Checks card says so. It does not stop you: two accounts on one network is a real thing, and two identical icons beside each other is usually a slip.
How they look. How big each icon is, how much space sits between them, whether the band is left, center or right, and one of three icon colors:
- Full color — each network's own colors. This is the one that reads on a light background and on a dark one.
- White — one plain white glyph per network, for a dark band.
- Black — one plain black glyph per network, for a light band.
The icons are ours, and they come from us. They are not fetched from the networks themselves, so nobody outside this product learns which of your customers opened your email, and an icon cannot vanish from an email already in somebody's inbox because another company moved a file.
Many people read email on a dark background, and a client that turns your band dark will not turn your icons with it — an image is an image. That is why Full color is the default and why it is the one to pick if you are not sure: a black glyph on a band the reader's mail app has darkened is an icon nobody sees.
In the plain-text version of your email — the one a few readers and most spam checks see — the row is written out as Follow us: and then each network with its address on its own line.
Editing a block that comes from the Library
A block that links to a Library element is not edited in place, because it belongs to every template that links it. Pressing Edit this element asks you one question — where you mean the change to land — and there are two answers:
- Change it only in this template. This template gets its own copy of the element as it stands right now, and stops following it. The element itself does not change, and neither does any other template linked to it. You land on the copy, ready to edit, and you can link this template back to the element later.
- Change it everywhere. This opens the element itself, in its own editor. Nothing about this template changes on the way. What you do there reaches every template linked to the element when you press Publish.
Most of the time the first one is what you want, which is why it is the button the dialog offers first. A change meant for one email belongs in that email. Go to the Library when you mean it everywhere — a header, a footer, a phone number that has changed.
Showing a block to some people
Every section, and nearly every block, has a Show this only when … card at the foot of its panel. Give it a rule over your profiles' own properties or their Shopify tags, and only the people it fits see that part of the email — everybody else gets the same email without it. A block or section with a rule wears a thin bar down its left edge in the email, and Shown to some on its row. A rule on a block inside a Library element travels with the element to every email that uses it.
The unsubscribe link and your store's address can never carry one. The Show a block to some people page has the rest, including what "doesn't have it" means and how to check a rule for one person.
Previewing
The right-hand side of the editor always shows the email as you build it. Preview widens that pane and makes it the thing itself: the links work, you can draw the email as a real person on your list, and you can mail one copy of it to somebody. The same control then says Done, and takes you back to editing.
Previewing itself mails nothing. Drawing the email as somebody, switching to the dark palette, reading it at phone width — none of it reaches anybody on your list. The one control on this screen that puts an email in a real mailbox is Send a test, and it says so before it does it.
Pressing a link in the preview does nothing, and a line under the email says so:
Links work in the sent email.
A preview is for looking. A link that worked here would either open a window your browser may quietly refuse, or carry you out of the editor to a shop page — and neither is what you were doing. Your addresses are unchanged and go out exactly as you typed them; to follow one, send yourself a test.
The unsubscribe link is the one worth saying more about. It is a permanent credential: whoever holds it can opt that person out, and it never expires. So the link drawn on screen carries a sample address rather than a real customer's — a working opt-out has no business sitting inside a design tool, or in a screenshot you share with somebody. It is built to be exactly as long as the real thing, so nothing about the email you are looking at is different. In an emailed test the link is real and signed, and that is where checking your own unsubscribe page belongs.
Sample values, and previewing as someone
With nobody chosen, the strip above the email says:
Previewing with sample values
The sample values are a stand-in first name and that sample unsubscribe link. The name is long on purpose. The size of an email is measured with it, and a short name would clear an email that a send then refuses — so the measurement stays pinned to the sample whoever you are previewing as, and says so:
This size is always measured with the sample values, so it matches what a send would check.
Choose a profile opens a search over everyone on your list. There is no filter on it at all, because previewing is not sending: what an unsubscribed customer's copy would have looked like is a fair thing to want to see. Search by name or email, and more than one word narrows further in any order — Jeremy @example.com finds the Jeremy at that domain. The strip then reads Previewing as, with the person's name and address, and you get Change to pick somebody else and Clear to go back to the sample values.
The first entry in that list is not a person: "No profile information". It draws the email as somebody you know nothing at all about — no name, and no value for any property you personalize with — so every one of those words shows its fallback instead. It is how you check that the email still reads well for the part of your list you know least about, which is usually most of it. The strip reads Previewing with no profile information. Nothing is created and nobody is added to your list by choosing it. The size is still measured with the sample values, for the same reason it always is.
The email is drawn with that person's own first name — including when there isn't one. A profile whose name you never learned is half the reason to preview as somebody at all, so nothing is filled in on their behalf: the block's own fallback word shows instead, exactly as it would in the send. A discount code that each person gets their own of shows SAMPLE20 in the preview for everybody, because the real one does not exist until the email is sent; a discount that gives away your own code shows that code, because it already exists.
Sending a test
Send a test mails a copy of the email to as many as three people at once. It is not a rehearsal. Each copy goes out through the checks a real send goes through — so each one can also be refused, and you are told what happened to each recipient separately.
Two controls, two questions
Preview as decides whose information fills the email: the first name, and any property you personalize with. Send a test decides whose inbox it lands in. They are separate on purpose, because "show me what Kim gets" and "send it to these three people" are two different questions.
So whoever receives a test, every copy is drawn with the person you are previewing as — or with the sample values if you have chosen nobody, or with every fallback showing if you chose No profile information. Three people can look at the same copy and talk about the same email.
Before your domain is set up, a test comes from our address
A brand-new store cannot send marketing email until its own domain is set up (Settings → Domain). A test to one of your own team is the one exception, and the panel tells you so before you send it:
This will come from our address because your domain is not set up yet, so
treat what lands as a look at the design, not at deliverability.
That sentence is the whole of what it means. The letter arrives in your colleague's inbox from an address of ours rather than one of yours, so it shows you exactly what you built — the layout, the typefaces, the images, how it looks on mobile — and it tells you nothing at all about whether your email will reach anybody's inbox once you start sending. Deliverability is what the sending domain is for, and nothing can stand in for it.
It reaches nobody but your own team. While this is happening the panel offers your team and nobody else — the list is not there to pick from, and it says why. And it stops happening on its own: the moment your domain is verified, the list comes back and every test comes from your own address instead, with nothing to switch.
Who can receive a test
Two kinds of recipient, and nothing else:
- Your team. Anybody who has access to this store, at the address they sign in with.
- People on your list. Any profile who has given you permission to email them, most recently active first. Somebody you have not confirmed yet still shows in the list, dimmed, with the reason written on the row rather than hidden.
There is nowhere to type an address. Every recipient is picked from a list of people this store already knows, so a test cannot land in a stranger's inbox because of a typo, and every copy leaves a record of who received it. Add someone opens both groups in one panel — your team first, then your list, searchable by name or email. A teammate's chip carries a quiet Team mark. Remove one with its ×; the panel stops offering more at three.
If two of your choices turn out to be the same mailbox, only one copy goes. Your own seat and your own profile are two entries in that panel but one inbox, and the second one says so rather than sending you the email twice. It only says so once a copy has actually gone: if the first of the two was turned down — your own profile is unsubscribed, say — the second one is sent, so you still get the email.
If the address you want to test with is a shared inbox, or your own mailbox somewhere else, put it on your list the way any of your customers would. Make it a Shopify customer with email marketing turned on, or place an order with it. It becomes a profile, and the picker offers it from then on.
The store remembers who you sent a test to last. Opening the panel tomorrow starts with the same people in it. It is remembered for you, on this store — your colleague's list is their own — and anything that has since gone, an erased profile or a teammate who no longer has access, is quietly dropped rather than offered — and so is anybody who has stopped giving you permission to email them since, because the panel beside it would not offer them either.
It remembers who you were previewing as, too. Open the template tomorrow and the strip above the preview starts on the same person — or on nobody at all, if that is what you chose — so the email you are looking at is filled the way you left it. Change it with Change, or press Clear to go back to the sample values. If that person has since been erased, the preview quietly starts on the sample values instead.
What is different about a test to a teammate
A copy sent to somebody on your team is not marketing email. It is your own unfinished work, sent to a person who works here and asked for it, so it goes out the way your order confirmations do rather than the way a campaign does. Three things follow from that, and all three matter before you use a teammate's copy to check something:
- The unsubscribe link in it does not work. It carries the same sample address the on-screen preview uses, because a real one is a permanent opt-out credential and it belongs only to the profile it opts out.
- That copy is not tracked. An open or a click on it is counted nowhere.
- Consent is not asked about. Your teammate never subscribed to anything; they work here. So a team member whose own profile on your list is unsubscribed still receives their own test.
The way to check your opt-out path end to end is therefore to send the test to a profile, where the link is real and signed and the page it lands on is the one anybody on your list would reach.
One thing does still stop a test to a teammate: Do not email. If that address has bounced, or somebody reported one of your emails from it as spam, the test is refused exactly as any other send to it would be. That state never reverses, and it holds for everybody — a login does not get around it.
What happened, per recipient
After you send, each recipient gets a line of its own: the person, their address, and one sentence saying what happened to their copy. Some can go and others be refused in the same test, and the lines come back in the order you put them in.
When a test is not sent
Nothing here is an error message. The check ran, the answer was written down, and what you have learned is something true about that person or about the template.
This person hasn't given you permission to email them, so the test wasn't sent. Try someone who's subscribed.
They have not said yes to marketing email, or they unsubscribed. Consent is the one thing no send skips. Only a profile can be refused this way; a teammate is never asked, because they never subscribed to anything.
You've stopped emailing this address, so the test wasn't sent.
This address is on Do not email: it bounced, somebody reported one of your emails as spam, or the address came back as invalid. That state never reverses, and nothing you send reaches it again. This is the one refusal a teammate's copy can meet as well.
You haven't confirmed this is a real person yet, so the test wasn't sent.
The profile is still waiting for something trustworthy — an order, or another signal from your store — to confirm it. Until that arrives it is left out of every audience, and a test is not an exception to that.
This person is paused, so the test wasn't sent.
You paused them. Resume them and the test goes. Pausing is something you do to a profile, so it never refuses a teammate.
This profile has no email address.
There is nowhere to send it.
That team member no longer has access to this store, so the test wasn't sent.
Their access ended between the last time you sent a test and this one. The panel drops them the next time you open it.
That profile is no longer here, so the test wasn't sent.
The profile was erased, or removed for another reason, after you picked it.
This email is too large to send. See the size note under the preview.
It is over 250 KB, which is a fact about the email rather than about a person, so it refuses every recipient in the test at once. See Size, below.
You don't have permission to send test emails.
Sending a test is sending. A viewer can open a template and preview it, but cannot mail anybody.
This template is not ready to send yet.
This one is about the email, not the person. The preview shows a half-finished email happily; one somebody will actually receive has to carry an unsubscribe link and a store address. The findings underneath name what is missing, and each one takes you to the block it is about. What stops an email from going out, below, is the whole list.
Your store has sent as many test emails as it can in one hour. The hour is counted from the first of them, so this clears on its own — try again a little later.
Only while your tests come from our address — before your own domain is set up. There is a ceiling on how many go out in an hour so that one store's afternoon of drafting cannot hold up another store's. Nothing is wrong with the template or the person, and nothing needs fixing: the hour is counted from your first test, so it clears by itself. Once your domain is set up, tests leave on your own address and this stops applying.
This could not go out just now because our own sending is busy. Nothing is wrong with your template — try again in a few minutes.
Also only before your domain is set up, and rarer. This one is about us rather than about your store: our own sending was paused for a moment. Try again shortly.
We couldn't confirm this one went out. Check that inbox before sending another.
The email may well have gone out — it often has. Three different things end here, and they do not agree with each other: the send may never have reached us at all, something may have broken partway through the list, or the email may have been accepted and delivered while the record of it went missing on our side. From where you are standing those look identical, so this sentence names no cause and makes no promise in either direction. What settles it is the inbox itself: look there before you send another, because "it failed" is the answer that gets a second copy sent to somebody who already has the first.
Something went wrong partway through this test, so we can't tell you whether
this copy went out. Check that inbox before sending another.
The same honesty, one step earlier. Something broke between one recipient and the next, so this copy was never reported on either way. Anyone above this line has their own answer and it still stands — a test to three people tells you what happened to each of them, not one verdict for all three.
Your working copy, and versions
Everything you do here saves itself as you work. You never lose a minute's work to a closed tab.
A version is a snapshot of the template exactly as it is right now, kept under a name so you can come back to it later. Save a version takes that snapshot and gives it a number; you can name it as well. A saved version never changes again — that is the whole point of one — so you can always go back and start from it.
Restore puts a version back into what you are working on. What was on screen is replaced, Undo puts it straight back, and the version itself does not change. Save as a new template takes a version and makes a separate template out of it.
Creating an email saves version 1, which is the email as it arrived from its starting point. The first version you save yourself is therefore version 2.
A version can be saved with problems in it. An email you are halfway through is still your work, and the product keeps it. What it will not do is let that email go out — see What stops an email from going out, below.
Paging. Under the templates you choose how many to show at a time — 25, 50 or 100 per page — and step through with Previous and Next. The line beside them says where you are: Page 3 of 5, with a box to jump straight to a page. The page is part of the address, so opening a template and coming back puts you back where you were, and the size you choose is remembered the next time. The archived view is counted on its own, so of 5 there means five pages of archived templates. Searching, or switching between your templates and the archive, takes you back to the first page.
The Library
A Library element is a piece you reuse — a header, a footer, any run of blocks at all — that many emails point at rather than copy.
There is one kind of element and you do not classify it. A header and a footer are the same thing to this product: a saved run of blocks that emails link. Nothing places one first or last, and nothing behaves differently because of what it is called. So an element has a name and nothing else, and the name is what tells your pieces apart — "Store footer", "Spring header", "Care instructions".
An email links to an element; it does not hold a copy of it. Change the element and every email that links it picks up the change. That is the point of the Library: fix your address once and it is fixed everywhere.
An element has its own versions, and one of them is the current one — the version every email that links it actually uses. Saving a piece of a template into your Library publishes it right there, so it is ready to link from any template the moment you have saved it. There is no second step. Later, publishing a new version makes that one current, because that is almost always what you meant by publishing: you fixed the footer and you want the fixed footer everywhere.
Three things follow from that, and all three are worth knowing:
- A campaign you have already scheduled will not change. When you schedule a campaign, the exact version of every element it uses is written down with it. Editing a footer afterwards changes the next campaign, not the one already on its way. Nothing you do to your Library can change an email that is already going out.
- You cannot delete an element something still uses. Instead of a warning you can click past, you get the list: which templates link it, which scheduled campaigns are holding it, and whether any email already sent was built from it. An element named by a send that already happened cannot be deleted at all, because destroying it would make "what did this person receive" a question nobody can answer.
- If you are simply finished with an element, archive it. An archived element stops being offered when you are building, and keeps working everywhere it is already used.
An element cannot contain another element. A footer cannot link a header. That keeps "what is in this email" a question with one answer.
Saving a piece of a template into the Library
Anything you have already built can go into the Library. In the editor's outline, the ⋮ menu on a selected block or section carries Save to Library. Name it, and it is saved. That is the whole dialog — the name is the only thing about an element that anything reads.
And there are two ways back out. At the top of the outline, Add from your Library places an element as a section of its own — which is what you want for a header or a footer. Inside a column, the From your Library tile places one among the blocks already there. Both link the same element; neither copies it.
A section saves the blocks inside it. A Library element is a run of blocks, so a section with two or three columns cannot be saved — the menu says so rather than flattening your columns into something you did not draw. Put the piece you want to reuse in a one-column section first.
Saving it publishes it. You said you wanted this piece in your Library, so there is nothing else to press. The element appears on the Library tab of the Templates screen, reading Published, and the From your Library tile in the block grid is live from that moment — in the template you are in, and in every other one.
Editing an element in the Library
Open an element by its name on the Library tab. It opens in the same editor a template does, holding that one piece: the same blocks, the same panels, the same live preview beside them, and the same rule that your work saves itself as you go.
Two things are different, because an element is a different thing from a template.
There is no subject line, no preview text and no colors of its own. An element is a run of blocks. It takes the colors of whichever template it is drawn in, which is what lets one footer sit under a dozen different emails and look like it belongs under each of them.
Publish is the act that matters. Everything you type saves itself, and none of it reaches a template until you press Publish. The line under the element's name says which of the three states you are in:
- Not published yet — nothing links to this element's content, because there is nothing yet to link to.
- Unpublished changes — templates are still showing the last published version. What you are looking at is newer than what anybody receives.
- Published, with a time and a version number — what you are looking at is what every template linked to this element shows.
Every published version is kept, and Versions lists them. Putting an earlier one back is one press: templates linked to this element start using it straight away, what you are working on here is untouched, and campaigns that are already scheduled keep the version they were scheduled against.
Importing an email you already have
Import
Import takes a template file written somewhere else — by your own tools, or handed to you — reads it, and tells you everything it found. Nothing is repaired. A template that has been mended without you knowing is a template you did not write, going to the people on your list.
There are two different outcomes, and the difference matters:
- A file that cannot be read is refused, and nothing is saved. That is a file in the wrong shape, or built for a version of the format this product does not know.
- A file that can be read is saved, even if there is something wrong with it — an image it names that is not in your library, a piece it links that is not there any more. It saves with those findings attached, and you fix them here. The findings are also the reason it cannot be sent yet.
That second outcome surprises people, so it is worth stating plainly: an imported email can save with problems in it, on purpose. It is your work and we keep it. It simply cannot be scheduled or sent until the problems are gone.
A block of pasted HTML
An email can carry a block of HTML you were handed or wrote yourself, kept as markup rather than converted into blocks. It is read on the way in. The way it is laid out and set comes through — type sizes, faces and weights, alignment, spacing, line height, widths — and a few things do not.
Your colors are kept — the color of the words and a background color set behind them, exactly as they are written. A block of pasted markup that names no color of its own draws in your email's own colors instead.
One thing to know about the dark. A color written inside pasted markup is out of reach of everything your template does afterwards, so it stays exactly as you wrote it — including for somebody reading at night, when the section around it turns dark. Dark gray words you pasted stay dark gray on a near-black background, and a pale panel you pasted keeps its fill while everything around it goes dark. Your email's own colors are ones your template can hand over to its dark colors. Pasted ones are not, and there is no way for us to reach in and correct them.
So it is your choice to make, and you have two ways to make it. Keep the colors you pasted, and they draw as you chose them in every inbox. Or write those words as an ordinary text block instead, where the color belongs to your template: you choose it, it draws as you chose it, and it gives way to your dark text color for somebody reading in the dark.
Old marketing HTML
Old marketing HTML routinely carries things an email may not: scripts, styles that do not belong, images loaded from somewhere else. Those are removed on the way in, and the converted template keeps no record of what was taken out. If anything was removed from yours, we will have told you which ones — you should not have to find out by noticing the email looks different.
Convert an imported design to the Carpe Messaging format
A design you imported from another email service arrives as one piece of HTML. You can send it, and you can see it — but you cannot edit it here, the way you edit the emails you build yourself. There is no text block to type in, no image to swap, no product row to point at a different collection.
Converting it turns that one piece into blocks. Open the design and the offer is the first card in the column beside it: Convert to Carpe Messaging format. Press Preview the conversion and nothing is saved — you get a window with the design as it is today on the left, and what it would become on the right.
Three colors on the converted side
Every part of the converted design is outlined, and there are only three things an outline can mean.
- Green — converted to blocks. A real text block, image, button or product row. You can edit it after you keep this. A row of products becomes a product block when your store still carries every product in it — so its images, names and prices come from your catalog each time the email goes out, instead of being frozen the day the design was written. If even one of the products is no longer in your store, the whole row is left exactly as it was: a block showing two of the three things you chose is a different offer.
- Amber, dashed — kept as code. A piece we could not turn into blocks, left exactly where it was, with its words, its links and its colors exactly as written. Nothing in it is changed. If it carries the other service's own tags, the design stays a draft until you replace it.
- Red — needs an answer. A place the other service used to fill something in, and only you know what belongs there.
The questions
Under the converted design are three lists, in the order you need them: the questions you have to answer, what changed while we read your design, and what was kept as code.
Each question shows the tag exactly as it was written and asks you one thing. There are four answers and you choose one:
- Something about the person — their first name, their last name, your store name, your store address. The same fields the Insert menu offers when you are typing.
- Words to use — type what should be there. Plain text. It will not change by itself.
- A store property — one of the things your own profiles carry. Pick one, or type a name the list does not offer. You also say what to use when a person has nothing in it, because a blank where a word should be is worse than a word you chose.
- Leave it out — the tag's words do not appear at all, and nothing is guessed in their place.
Change an answer and the right-hand side is drawn again, so you never have to take an answer on trust. Keep this stays unavailable until every question has an answer. Discard is always there and costs nothing — until you press Keep this, nothing has been saved.
After you keep it
The design becomes blocks, and the one you had is kept as a version, saved the moment before the conversion. It is in the Versions list with a Restore button beside it, like every other version, so you can go back whenever you like.
A converted design that still carries another service's tags cannot be sent — the checks say which, and replacing them is ordinary editing now.
When the original is not on file
Converting reads the copy of your design exactly as it arrived. If we do not have that copy, the card says so and points you at the import. Import the design again and the copy comes with it.
Two things every email must carry
Every email you send has to carry an unsubscribe link and your store's postal address. That is the law wherever you are sending, and an email without them will not go out.
They live in the footer as a sentence. Every template you start from opens with one already written:
You are getting this because you signed up for our emails. If you no longer want them, unsubscribe here.
Only the words unsubscribe here are the link. The rest is ordinary text you can rewrite in your own voice, and the address underneath is a Store address field in a paragraph of its own. Move them, restyle them, put them anywhere in the email — what you cannot do is take both the link and the field out.
To write one yourself: type the sentence in a text block, select the words you want people to click, press Link, and under Where it goes choose The unsubscribe link instead of a link of your own. For the address, put your caret where it belongs and choose Store address from the Insert menu.
What counts is the link and the field, not the words. Pasted HTML never counts, however it is written: an unsubscribe link nobody can find is the same as no unsubscribe link at all. A {{store_address}} written inside a pasted block does print your address, and it still does not satisfy the rule — use the field.
A linked library element counts. Most people keep their footer in the Library and link to it from every template, and the sentence and the address in that element are this email's sentence and address — they render and they go out. The editor reads the element's published version, the one every template is showing, so what it tells you is what your recipients will get. An element with unpublished changes counts as what is published today; press Publish and the templates linked to it catch up.
So the finding is exact, never a maybe. If nothing in the email carries the link — the element you linked included — you are told the email cannot go out and what to add. If it is there, nothing is said. And if you have it twice, once in the email and once again in the linked footer, you are told which row is the extra one; that email can still go out, it just says the same thing twice.
Older templates carry them as blocks instead, and those go on working exactly as they did. The unsubscribe link and Store address blocks are still part of the format; they are simply not offered as new tiles any more, because a footer reads better as a sentence than as two stacked lines.
The address itself belongs to your store rather than to each email — you put it on file once and every email shows the same one. There is no screen for putting it on file yet. So a store whose address is not already on file cannot add one in the app today, and its emails are held back until it is. That is worth knowing before you plan a send; see the Settings help page.
How your email arrives
You build an email once, and it has to hold up on a wide screen, on mobile, and for somebody reading with their screen set to dark. Three things happen on their own, and they are worth knowing before you build anything.
Columns stack on mobile. Two or three columns side by side on desktop become one above another on a narrow screen, in the order you wrote them, with the same gap between them turned on its side. A section can carry the other answer instead: its columns stay side by side however narrow the screen is, which is what you want for a row of small things that would look wrong in a tall stack.
An image sits in the middle of the space it is given, and is never blown up past its own size. That matters most on mobile: a stacked column is wider than the column the image was built for, and the spare space goes evenly on both sides rather than all on one.
Dark mode does what your template says, and nothing more. A template can carry its own dark colors — a text color, a background and an accent, for somebody reading in the dark. When it does, those are the colors that draw. When it does not, your email stays light. It is never turned inside out on a guess: colors chosen by a machine land on your logo and your product images as readily as on your words, and a design you did not make is not one you can check. What each email app does with all this is the app's own choice — some draw your dark colors, some show your light colors as they are, and a few darken an email themselves whatever it asked for. That last one is not something any email can prevent. It is also why a color inside pasted HTML — the words' or the background behind them — stays exactly as you wrote it instead of giving way to your dark colors; see A block of pasted HTML, above.
Size
A very large email gets cut off. Gmail stops showing an email past about 102 KB and puts a "View entire message" link at the bottom — under your unsubscribe link, where a lot of people never look.
The number sits under the template's name, beside the mark that tells you when the work was last saved: Saved 10:11 AM · 8.2 KB. It is quiet on purpose — most emails are nowhere near any of the limits below, and a reassurance you do not need is a line you have to read past every time you look at your work.
So you are told as an email grows:
- around 90 KB — a note that it is getting large.
- around 102 KB — a louder warning: Gmail will clip it.
- over 250 KB — it cannot be sent. Nothing this size arrives intact anywhere. An email that measures exactly 250 KB still goes out; the edge is yours.
Past any of those, the number changes color and the sentence appears with your other checks, where you already look for what is wrong with an email. Open Preview at any time and the whole reading is there in full, beside the email itself.
Images do not count toward this. It is the words and the markup around them.
What stops an email from going out
Everything above adds up to one short list. The whole email is checked when you schedule it, and that is where a problem stops it. These are the things that stop it:
- No unsubscribe link, or none that anybody can see. A link inside a sentence counts; an unsubscribe block counts; a URL pasted into a block of HTML does not.
- No store address in the email, or no address on file for the store. The Store address field counts, and so does the older store-address block.
- Two unsubscribe links, or two store addresses, as blocks. Writing the sentence and leaving the old block beside it is fine — you are told about it, and the email still goes out.
- A piece it links is not there, so there is nothing to put in its place. You will meet this on an email imported from somewhere else that names a piece this store does not have. An element you archived is a different thing again: it is not gone, it still shows, and it stops nothing.
- An image it uses is no longer available — deleted, or still being processed.
- A discount block with no discount chosen. The block is what says which discount the email gives away, so a block with nothing chosen would print a blank where a code should be: This email gives away a discount code and no discount is chosen. Open the discount block and choose one, or take the block out.
- A discount code in the words with no discount block. Writing the discount code into a paragraph, or into a block of HTML, with no discount block anywhere in the email is the same promise with nothing behind it: This email asks for a discount code and nothing in it says which discount. Add a discount block and choose a discount, or take the code out of the text.
- A link pointing at something your store no longer has. A collection or a page that has gone leaves the link with nowhere to go, so the email is stopped until you point it somewhere else. The field shows the name with No longer in your store beside it, which is where to fix it.
- It is over 250 KB.
A product block whose rule found nothing does not stop anything. Your best sellers fill it instead, and the Checks card says so. That holds for the four per-person ways as much as the rest: they are chosen like any other way of filling a block, worked out for each person as the email goes out, and topped up where somebody's own history gives them nothing.
Three of those are checked a second time, for each person, as the email goes out — the unsubscribe link, the store address, and the size. Those three are the only ones that can still be different at that moment: every person's email carries their own unsubscribe link, which makes each copy a slightly different email of a slightly different size. If one of the three is wrong for somebody, that person's copy is not sent; the rest of the send carries on.
The rest of the list is checked once, when you schedule, and that is enough. The email is written down whole at that moment — the pieces it links, the images it uses, and every word in it — so there is nothing left for a later check to find. It also means the opposite is true, and worth knowing: once a campaign is scheduled, tidying up your Library or your images cannot repair an email that was already wrong, any more than it can break one that was right. The remedy is always the same one: fix the email before the campaign is scheduled.
Anything else — a size warning, a product whose price could not be shown — is told to you and does not stop the send. That split is deliberate: block what cannot be fixed and cannot be taken back; warn about a cost you get to choose.
The index
Templates are a grid of cards, and each one shows you an image of the email rather than only its name. That is the whole point of the screen: with a dozen templates, you find the one you want by recognizing it.
Search by name. Type more than one word and every one of them has to match, wherever each of them falls and in any order — searching Mother 2026 finds a template called Mother's Day 2026 — final call, and so does 2026 Mother. Searching for a % finds a %; nothing you type is treated as a wildcard.
The image is of the template as you last left it — your working copy, not an older saved version. Edit a template and its card catches up on its own.
It can be a few minutes behind, and the card says so. Drawing the image is work we do in the background, so a template you have just changed shows Updating in the corner of its image until we have redrawn it. Until then you are looking at the last image we drew, which is usually a few minutes old at worst. Keep editing and it keeps up: we redraw a template at most once every five minutes, so a morning of small changes does not become a morning of redrawing.
A card with a plain gray panel instead of an image has no image yet. That is not a mistake and there is nothing to fix. It happens for a template you have only just made, and for every template you made before this screen learned to draw images — those get one within a few minutes. It also happens if your store has no mailing address saved in Settings: every marketing email has to carry one, so until it is there we cannot draw your email at all — and we could not send it either, which is the more important half.
"Last used in …" names the most recent campaign you sent that was started from this template. If a template does not show that line, it means we have no record of one — which is not the same as never having been used. We only started keeping that record on the 4th of September 2026, so a template you have sent with a dozen times may quietly show nothing.
Rename, Clone, Archive
Every card's ⋮ menu offers these three, and sometimes a fourth.
Rename changes the name and nothing else.
Clone makes a copy and takes you straight to it, because a copy is a thing you have made in order to change it. The copy is called "Copy of …" and you can rename it right there. It copies what you see — your current working copy, not an older saved version — so nothing you have done to the original goes missing. It is a completely separate template from the moment it exists: editing one never touches the other.
Archive puts a template away. It comes off this screen, its name is freed up for another template to use, and nothing that has already been sent is affected. Switch Show to Archived to see what you have put away and to bring one back.
Delete vs Archive
Delete appears only on a template nothing has ever used — no campaign started from it, no automation, nothing imported behind it. That template is something you wrote and nobody has seen, so there is nothing to keep a record of, and we delete it outright: the template and every version of it go, and they do not come back. The moment anything has used it the item is not there at all, because nothing you could do would make it deletable again — archive it instead, which takes it off this screen and leaves everything you have already sent exactly as it was.
What is here today
The editor is here, and everything on this page works in it: starting points, your working copy and its versions, the Library and its links, the size rule, the dark palette, the findings, preview mode and the emailed test. You build an email yourself, block by block — there is nowhere to describe an email and have one written for you, and none is planned.
Which products a product block shows is set in the editor, on the block's own panel — see the Products in an email page. Prices and availability are still read when the email is sent rather than when it was written, and four of the nine ways to fill a block cannot be sent yet; that page says which.
One thing is not in the editor, and it belongs to the campaign the email is part of rather than to the template:
- Sending and scheduling. The editor writes a template; a campaign is what goes out, and when. Nothing here sends to your list. You can mail one copy to as many as three people from preview — see Sending a test, above — and each copy is checked and gated exactly as a campaign send is.