Help · Content

Editing a form

On the left you build it. On the right you watch it.

Beside the form's name is its status, in the same words as the Forms screen: Draft, Live, Paused, and Changes not published when the form is live and you have edits nobody has seen yet. Not showing means the form is live but its discount is in a rollout in Shopify, so it is off your store until the rollout ends (Discounts has why). The line under the name says when it was last published and which version that was.

The form on the right is not an image of your form — it is your form, running the same code your storefront will run, changing as you type. What you see there is what a visitor gets.

The left column starts on your panels, one to a row under the heading Panels, and you open one by pressing it. Undo and redo sit at the top of the screen with the rest of this form's controls. Cmd-Z (Ctrl-Z on Windows) undoes too, and Shift-Cmd-Z or Ctrl-Y redoes; while you are typing in a box, those keys undo your typing in that box instead. Above the form itself sit the name of the panel you are looking at, Test and preview, and the screen switch. On desktop / On mobile changes which screen you are looking at. It is one form either way; what changes between the two is how it is arranged, never what it asks for.

The form is drawn life size wherever there is room for it. Where there is not — a wide form on a narrow screen — it is scaled down to fit and says so underneath: Shown at 82%. That is a note, not a control; there is nothing to set.

Every number you type sits in a box with its unit inside it — 10 px, 50 % — with a stepper for nudging it wherever the row has room for one. Type a number outside what the field allows and it is corrected when you leave the field, never while you are still typing: that is why you can type 18 into a field whose smallest value is 12.

A number box is never blank. Where you have set nothing, it shows the number your form is actually drawing — 0 px, not an empty box — so you are never left guessing what nothing means. The one exception is a cap that is genuinely optional, like how many times one person may see the form: there, empty means no cap, and it says so.

The left column is three levels — your form, a panel inside it, and a block inside that. You go down a level by pressing a row, and back up with Back. A block's words and the way it looks are the same place, so nothing about the thing you picked sits on a different screen from the rest of it.

Everything that is not the form's own contents is behind Settings — the button with the sprocket in the editor's toolbar. On a narrow screen the word folds away and the sprocket stays. It opens a list of groups with the one you pressed beside it: Format is what shape the form takes on your storefront, and Opens, Where, Shown to, Frequency and Schedule are when it runs and who meets it. The rest of this page is about them.

Test and preview opens your real form in a large window over the dimmed app, so you can press through it as a visitor would. Nothing is sent and nobody is signed up. Preview as shows each kind of visitor, and Escape or Stop testing puts it away.

Test and preview dims the whole app and opens your form in a large window over it — the real thing, behaving the way it will on your storefront. It is drawn life size where there is room for it, and says Shown at 82% underneath where there is not. Press a button and it moves through the form as a visitor would. Nothing is sent and nobody is signed up, and it says so along the bottom while you work.

The window stops a little short of every edge, so you can still see the editor behind it, dimmed. While it is open the rest of the app waits: the pointer and the Tab key stay inside the window, and Escape or Stop testing puts it away and takes you back to the editor where you left it. On a mobile screen the window is the whole screen, and it opens showing the form on mobile.

The top of the window is headed Testing your form, and carries three controls:

Every panel has one Layout, chosen by pressing one of the drawings on the Layout card at the top of the pane. Changing it keeps your blocks, their order, their words and their colors — only the arrangement around them changes.

Every panel has one Layout, and you choose it by pressing a drawing of it. Open a panel and the first card in the pane is Layout, with six small drawings in it. Press one and the panel is built that way:

Nothing is thrown away when you change your mind. Your blocks keep their order, their words and their colors — only the arrangement around them changes. The one press that takes something away is choosing a layout with no place for an image while an image is in the panel, and it asks first:

A layout that would not work on this panel stays on screen, grayed, with the reason under it — one that would leave the panel with nothing in it, or crowd more onto one line than a line can hold. A choice that disappeared is a choice you would go looking for.

No image. Everything in one column, top to bottom, in the order the list shows:

Mobile shows the same column, which is what a narrow screen wants anyway.

Image on top. One image across the width of the panel with the words under it:

Let the image touch the edges takes the image out past the panel's own padding, so it meets the corners. It starts on, which is what most people want of an image across the top; disable it to sit the image inside the panel's padding with everything else. Mobile draws it the same way.

Image on the left. The image and the words side by side, the image first:

Image width is a percentage — the words take the rest — and Image to words is the gap between the two. For mobile, switch the preview to On mobile and choose what happens instead: Image above the words, Image below the words, or Keep them side by side. The card's own sentence changes with your answer, so it always says what your form does:

Image on the right. The same arrangement, mirrored — the words first and the image beside them, with the same three knobs and the same mobile question. Either side can put its image above the words on mobile, so choosing a side is a choice about the wide screen only.

Image behind the words. The image fills the panel and everything else sits on top of it:

Where the words sit — Top, Center or Bottom — places them in it. On mobile, either the words stay over the image or the image becomes a band above them; a panel with several fields in it wants the band, because a photograph's shape is not tall enough to hold a form on mobile.

Everything on one line. This is the embedded form — the one that sits inside a page of your own rather than over it. The fields and the button go on one line; a heading or a paragraph sits above the line and the consent sentence below it, where there is room to read them. On mobile, either the line stacks one block per line or it stays a line, for a bar of two small things.

The Layout card is a short list of lines. Each line says what it is set to, and pressing it opens its controls in place:

A panel with no image yet opens with its Image line already open, because choosing the image is the next thing to do. A panel that cannot go live — one too tall for a mobile screen — says so at the top of the card, above the lines.

Under the two images the card says what the mobile one is for:

A shopper using a screen reader on mobile hears the mobile image's own description, so give it one in Images & media — or open the image block in mobile view and use Edit description.

On mobile, the Layout card edits mobile. Switch the preview to On mobile and the card is tagged Mobile, the same as every other control there:

Two buttons side by side are one block. Two buttons sits beside Button in Add to this panel, and pressing it puts a pair on the panel — Sign up and No thanks, until you write your own on them. The list shows the pair as one line, and its ⋮ moves and deletes both together; press either button in the form for its own words and colors. Its one setting is On mobile: Side by side, or One above the other.

The list under the Layout card is your blocks, in order. A heading, a paragraph, the fields, the consent line, the button — one line each, and no boxes in it, because the layout owns the boxes. The image is not in the list either; it belongs to the layout, and you reach it on the Layout card or by pressing it in the form.

Pressing a line opens that block, where its own words and settings are — the › at the end of the line says so. Pressing the block in the form opens the same thing, from wherever you are: press a button inside a pair and you get that button, not the pair. The line and the block are always the same thing.

A heading, a paragraph and the consent sentence are the three you can type straight into the form. Pressing one opens it and leaves the cursor where you put it, so you can keep typing; what you type lands in What it says when you click away.

Each line's ⋮ appears when you point at it, when you reach it with the keyboard, and stays on the line you are on:

The whole 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, and Enter opens the line you are on, exactly as pressing it does. The arrows only ever walk; they never move a block. Pressing Down to read the next line and finding you have rearranged your form instead is the reason moving is a named act in the ⋮, where it can also say why it cannot.

Drag a block into place. Pick what you want out of Add to this panel — grouped into Content and Fields, each with its own mark — and carry it onto the form. The place you are over turns into a bar saying Put it here. Let go and it lands there. You can drop it in the form itself or in the list of what is on the panel, whichever is nearer, and you can pick up a block already on the form the same way — the ⠿ at the start of its line carries it. Escape puts it back down, and so does letting go anywhere that is not a place.

Or press it, if a drag is awkward. Pressing a block in Add to this panel — with the mouse, with Enter, or with a tap — puts it at the end of the panel and selects it, and you move it from there with the line's ⋮. On mobile, hold the ⠿ for a moment to start carrying a line; a plain tap scrolls the panel as it always did.

Anything you cannot use on the panel you are on stays where it is, grayed, and tells you why when you point at it — so the list of what a form can hold is the same size every time you look at it.

A trail across the top says where you are, and every step of it is a way back: Panels › Sign up › First name. Press Panels for the panel list, press the panel for its blocks — one press, from any depth, with nothing to unwind. The last step is where you are now. Escape goes up one step at a time.

The line above the form says which panel you are looking at, and it opens the rest of them. Press Panel Sign up and every panel in the form is listed in the order a visitor meets them, the first one marked. Choose one and you land on the same thing in that panel where there is one — editing a button in this panel puts you on that panel's button — and on its list of blocks where there is not. That is how you copy a look from one panel to the next without walking out of the form and back in.

Advanced layout, under the Layout card, lets you arrange a panel box by box when its shape is not one of the layouts. Enabling or disabling it changes nothing about your form, only what you are shown, and a panel that fits no layout keeps it enabled.

The six layouts are a small vocabulary, and a form is sometimes a shape that is not in it. Advanced layout, under the Layout card, hands you the boxes:

Enable it and the panel's boxes appear in the list, indented, with everything the box editor has ever offered: the Columns card, wrapping a block in a row or a column or a layer, taking a box away again, Move to…, and a width and a distribution on the boxes themselves. Enabling and disabling it changes nothing about your form — it changes what you are shown.

A panel whose shape is one of the six opens on the Layout card; anything else opens in Advanced. That is true of every form built before the layouts existed, and of anything you build by hand afterwards. Where a panel cannot be drawn as a layout, the switch is on and cannot be disabled, and it says which part of the shape is in the way:

Rearrange the panel until it matches a layout again and the switch lets go.

The switch is per panel, and it lasts as long as you have the form open. Close the form and open it again and every panel is back on whichever surface matches its shape. Nothing about it is saved into the form, so it can never change what a visitor sees.

Boxes. A box holds things top to bottom (a column), side by side (a row), or on top of each other (a layer) — and boxes go inside boxes, as deep as you need. That is what every layout is made of, and it is what you are editing directly in Advanced. The list is the one thing the preview cannot show you: which boxes are inside which. An image beside a column of words looks like two things side by side and is two levels — which is why moving one of them sometimes moves the other.

Getting a thing inside a box. Dragging always puts a thing beside another one, never inside it — a gesture that means two different things depending on a few pixels is how content ends up somewhere you were not looking. So there are two ways in, and both say what they are doing. Move to… in the line's ⋮ lists every box on this panel by the same line the list draws for it — Left column — image, Row — two columns — and a box that cannot take this thing is still listed, grayed, with the reason on it. And holding Alt (Option on a Mac) with the up and down arrows moves the line you are on between boxes instead of walking the list: up lifts it out of the box it is in, down puts it into the box beside it. Where there is nowhere for it to go it says so, rather than doing nothing.

Columns. Columns in the Layout group is the quickest way to put things side by side by hand. Press it and it asks one question, drawn rather than written — two halves, three thirds, a wide left or a wide right — and what arrives is a row of empty columns, each one saying Put something here. Press one and add a heading, an image, a field, whatever belongs there. Pick the row itself and its first card is Columns: One, Two or Three (taking a column away moves what is in it into the column beside it, so nothing is thrown away); Column widths, typed as percentages, where you type the left one and the rest is whatever is left over; Gap, the space between them; and On mobile, where you say whether they stack, wrap, or stay side by side. A row that has columns shares itself out between them, so the blocks inside no longer have a Width of their own — the widths on this card are the whole answer.

Turning a form you have already written into columns. Open the ⋮ on the block where the columns should start and choose Put this and everything below in columns. That block and every block under it in the same box move into the left column, and the right column arrives empty. Then carry one thing across — one drag instead of one per block.

A row in columns holds its columns and nothing else. There is no place between two columns for a block to land, because every column has a width and a block sitting between them would have none. Drop it in a column instead, or use the Add a block row at the end of the one you want.

Every form is a run of panels — most are one that asks and one that thanks. Each panel's row has a ⋮ that adds a panel before or after it, renames, clones, moves or deletes it, and the order of the panels is the route a visitor takes through the form.

A form is made of panels, listed one to a row at the top of the left column. Every panel is the same kind of thing: the one that asks for an address and the one that says thank you are both panels, and both can hold an image, a heading, a button, anything. You name each one, and the name is yours — it is what the row says and nothing else. Beside the name, the row says how many things are on that panel and which panel a visitor meets first.

Each row's ⋮ is where everything about that panel lives: add a panel before or after it, rename it, clone it, move it up or down, or delete it. Anything that cannot be done right now stays in the menu, grayed, and tells you why when you point at it — so the menu is the same shape every time. Adding a panel is this menu and nothing else, because before and after are the only two answers worth having: a control that could only ever add one at the end was one more thing to read.

You can delete any panel, including the first one. Delete the first and the one after it becomes what people arrive on, and the menu says so before it happens. The only one you cannot delete is the last one left: a form needs a panel.

You can also drag a row to move it. Panel order is the route through your form, so a move that would break the way people get somewhere is refused, and it says which button is in the way rather than quietly rewiring it.

The panel you have opened is the panel you are editing and the panel in the preview — they are never two different things.

Most forms are one panel that asks and one that thanks, and that is a complete form. A second panel is worth it for a short question before the offer — somebody who has already said yes to something small is far more likely to finish. Ask for a name on the same panel as the email address, never on a panel of its own.

Every signup form that asks for an email address or a phone number has one panel called Already on your list. It is what somebody who already has your consent sees when they sign up again, instead of the ordinary thank-you. New forms come with it; edit its words like any panel.

A form made before this panel existed has one built in. It borrows the look of your thank-you panel — its background color, spacing, corners and type — but none of your words, images or discounts, and it says You’re already one of our VIPs and Thanks for being with us. Keep an eye on your inbox. with a Close button. It is shown in the editor so you can see it, and it stays built in until you edit it; once you do, it is yours and is saved with the form like any other panel.

Nobody reaches it by pressing a button. Your form shows it only to somebody it has recognized as already on your list, so no button may lead to it, it cannot be the first panel, and it cannot ask for anything — it is where their signup ends. It may carry a discount only when the form's answer for people already on your list is Give them a VIP gift. What those answers do is under What a form collects.

Spin the wheel is a block like any other, added from Content. Somebody spins it by pressing your form's submit button, and the page that button leads to shows what they won. Its prizes, odds and rules are on the block itself — Spin the wheel has the whole of it.

Every button has an Action — sign people up and move on, or just move on — and a Where it goes: a later panel, the end of the form, or a link. Each button answers for itself, so two buttons on one panel can send people to two different places.

A button carries what it does and where it goes, separately. Pick a button and you choose:

A button can take people to a page of your own — the sale, a collection, the product the form was about. Choose A link, then either paste the address or type a few letters of what you are looking for: the field searches your store's products, collections and pages, and offers your home page and all products beside them. Choose one and the field fills in with its address, which you can still edit by hand. Pressing the button takes the person to that address.

A typed address has to start with https://, which the pages on your store already do; anything else is refused where you type it, because a button that opens something else on your storefront is not a link, it is a hole.

One thing to know about choosing from your store: the address is worked out when you choose it, not every time somebody presses the button. If you rename that collection's or product's address in Shopify later, come back and choose it again.

Pressing it takes them there and the form is over. If the button signs people up first, they are signed up before they go — but they will not see a thank you, and there is nothing left to offer them, so the editor says so before you publish. A panel of your own words with a Shop now button on it does both.

Giving away a code needs no special kind of button. Put a discount code block on your thank-you panel and point a button that signs people up at it. Signing up is what reserves the code, and the block shows it. If no code can be given — the discount ended, Shopify started testing it on only some of your shoppers (a rollout), your store could not be reached at that moment, or the address is in Do not email — the same block shows its own fallback text instead, which is a line you write on the block and can rewrite in your own words. One thank-you panel, both endings.

That is also the one rule about such a panel: only a button that signs people up may lead to it, because a code is reserved when somebody signs up and at no other moment. If a button that only moves people on is pointed at it, the editor says so and names the button to change.

Because each button answers for itself, two buttons on one panel can go two different places. That is how you ask a question and send the yes and the no to different endings, with nothing else to set up.

Every button looks the same until you change it. What a button does has nothing to do with how it looks — a button that only moves people on is drawn exactly like one that signs them up, and the Style mode is where you make one quieter than the other.

A form only ever moves forward: you can send people on to a later panel, end the form, or send them off to a link — never back. That is what makes it impossible to build a loop somebody cannot get out of.

If a panel has more than one button that signs people up, one of them is the one the Enter key presses, and you say which.

Removing a panel that something leads to says what else will change before it changes it.

Anything that needs fixing appears under the preview by itself — listing anything that would stop the form publishing, any panel nobody can reach, and anything worth knowing that is not an error. You never have to press anything to find out. When there is nothing to fix, nothing is there.

The heading counts the two kinds apart, because they are not the same kind of thing. Something that would stop the form publishing is a thing to fix; something that is only worth a look — a form that closes on somebody the moment they sign up, words that will be hard to read — is a thing worth knowing, and your form publishes with every one of those standing. A form with nothing wrong with it and one thing worth a look says so, and never says you have something to fix.

A panel taller than a mobile screen stops the publish. The editor draws every panel of your form at mobile size — 390 by 664 points, which is what a common handset leaves you once its browser has taken the top and the bottom for itself — and if the whole panel does not fit on that screen it says so, names how many pixels it is over, and names the tallest block on it, which is nearly always the one to change. It is a thing to fix rather than a thing worth knowing, because the person it costs is your visitor: they see a form that looks finished and never learn there is a button below the fold. The preview switched to On mobile shows you the same screen, so you can watch the bottom come back into view as you shorten it.

A form that is never shown on mobile is not held to this. Add a Device rule under Shown to and exclude mobile, and the check stands down — nobody will see the form on mobile, so there is nothing to fit. If that rule is set to show the form when we cannot tell the device, the check stays, because that visitor may be on mobile.

The commonest cause is an image at its own shape. A tall image set to Natural size is as tall as its own proportions make it at the width it is given — on mobile that is the full width of the form, which is often twice the height you expected. Put it back in a frame (Fill the frame or Fit inside) and the frame decides the height instead. See Images under How it looks, in the chapter How a form looks.

Check the paths before publishing shows every route through your form in plain words, where each one goes, and how each one ends. It is in the ⋮ in the editor's toolbar, and it is also a link inside the list above whenever that list is on screen. On a form with nothing wrong with it, it opens saying so.

Close it when you are done with it, and it also clears itself the moment you change the form — every route it listed was worked out from the form as it stood when you asked, so a report left standing over an edit would be describing a form you no longer have.