Drafts, publishing and versions
A version (V1, V2…) is a line of saved states. Saving never changes what shoppers see, Go live puts the latest saved state of a version online, Save as a new version starts the next V number, and only a version tested in an A/B test is locked.
Editing a widget never changes what shoppers see. A change only reaches your storefront when you Go live.
A version (V1, V2…) is a line of saved states. Each Save adds a saved state to the version you are editing, or updates it in place when the version is a draft. Saving never changes the version's number. A new number comes only from starting a new version.
That is two buttons, and they do different things:
- Save stores your work on the version on screen. Nothing on your storefront changes. You can leave and come back to it.
- Go live puts the latest saved state of the version on screen online. Shoppers keep getting the state that was published until you press it. The previously live version becomes Archived: it is kept, not deleted.
A version that was live is not locked. Save on it and the new state waits as a Draft beside Live in the versions table, while shoppers still get the published state, until you press Go live. While that state waits, or while you have unsaved changes on the live version, Take offline stays beside Save and Go live is the primary action.
Go live is unavailable while you have unsaved changes. It sends what is saved, so allowing it here would publish your previous state while your unsaved change sat on the screen. Save first, then go live.
Going live and taking offline
Two actions change a widget's place on your storefront. They sit in the editor's header and on each row of the widget list:
- Go live publishes the latest saved state of the version on screen and puts the widget online. If that state is already the live one, it only puts the widget back online. It is the only action here that publishes anything.
- Take offline stops a live widget at once. Shoppers stop seeing it straight away, so the dashboard asks you to confirm first. Its versions stay as they are, and no saved state is changed.
The list offers Go live on any offline widget that has a version, and Take offline on any live one. In the editor, Go live publishes the saved state whatever the widget's state, so on a switched-off widget with a live version it puts that state live in place of the live one. While a newer saved state is waiting on a live widget, or you have unsaved changes on it, Go live is the primary action and Take offline stays beside Save; the bar below 860 px keeps Take offline in its menu.
Going live has a side effect you should know before you click:
- It can replace another widget. An inline widget holds a slot on your pages (see Slot names). If another widget on the same site holds that slot with its live version, going live archives that version and switches the other widget off. A widget that is switched off still holds its live version, so it is replaced the same way. The editor shows a message that a widget was replaced, without naming it. The list does not show that message.
Going live and taking offline are both refused while an A/B test runs on the widget. Stop the test, or promote its candidate, first. The editor says why. Going live is also refused when the widget has no page type and is not set to every page. Saving a draft is still allowed. See A/B testing a widget.
Save as a new version
Save is one button with a chevron inside it. The menu it opens offers Save on V3 (the version on screen) and Save as V4 (the widget's next V number). Save as V4 makes that version from the form, leaves the version that was open as it was, and opens the new one. Use it to try a change aside from a live version, or to change a locked version. Like Save, it needs unsaved changes. Below 860 px it is an entry in the ⋯ menu.
Shared by your organization
Saved states belong to the widget, not to a person. Two colleagues editing the same widget are editing the same version. If a colleague saved on the same version since your editor opened it, your save is refused: "Someone saved this version since you opened it. Your changes are still here: reload the page to see their version, or save them as a new version." Nothing is written and your changes stay in the form. You hear about it before you save: while an editor is open it looks at its version again when the browser tab becomes visible and every minute. If someone else saved the version since you loaded it, a notice above the tabs says who saved it and at what time, with a Reload button. The editor never reloads by itself, so what you typed stays until you choose to reload. Only a member who can edit sees the notice. The editor keeps the state it loaded, and only its own saves move it, so a page refresh does not hide a colleague's save from the check. A saved state records who made it and when, and the widget list puts a red dot next to the widget's Updated date (Unpublished changes) so the work is visible before someone opens it.
When a version is locked
A version is locked, kept as it is and read-only, only once it was tested in an A/B test as the challenger: starting a test closes the challenger's version. A version that was only live stays editable.
The locked version's page shows the same form, frozen, with a notice just above the tabs ("V1 can't be changed: it was tested in an A/B test. Start a new version from it to change it."). The notice has a Start a new version from V1 button (the name replaces V1 when you named the version) for a member who can edit. It copies the locked version's latest saved state into a new version and opens it. A save on it is refused with "This version was tested in an A/B test and can't be changed. Start a new version from it."
What is versioned, and what isn't
Almost everything is: format, colours, size, corners, shadow, icon, placement, offsets, stacking order, page targeting, and the shopper-facing text.
Two things are not, on purpose:
- Online or offline: taking a widget offline applies at once. A merchant who takes a widget offline expects it off, not off-once-published. Only going live publishes anything.
- Name: the label that tells two widgets apart in a list.
Both apply the moment you change them, and neither can be carried by a draft.
The versions page
The versions are not a tab of the editor. Open them with All versions in the widget's name menu in the header. Every version also opens from that menu and from the versions table, on its own page, in the editor, at its latest saved state. That includes the open draft. The page shows the widget's name, with Versions of this widget under it, and has a Back to the editor link, which reopens the tab you came from.
A switch at the top shows one of two views: Versions and Change history.
Versions
The table fills the page width in its own card, with one row per version and no status filter. A version reads V3, or the name you gave it when you renamed it. The row shows its status (Draft, Live, Archived, or, while an A/B test is running, Under test) and the date it was last edited. A lock appears only on a locked version. When the live version has a newer saved state waiting, its row shows a Draft badge beside Live.
The row menu offers Open, and, to a member who can edit, Rename and Start a new version from it. Rename opens a dialog: a name only helps you find the version, and leaving it empty shows the number again. A locked version can be renamed, since a name changes no saved state.
Change history
Every saved state of every version, most recent first: the date it was saved, who saved it, and its exact label (V2.1 is the first save after V2 was started, and a named version shows its name in front). A version's newest state carries a Latest tag and has an Open action. An earlier state has Restore for a member who can edit, and Open for anyone else. Restore starts a new version from that state and opens it in the editor. It never changes the version the state came from.
Start a new version from it copies that version's configuration into a new version with the next V number, then takes you back to the editor. It always makes a new version: a draft that was waiting on another version is left as it is.
The versions page never publishes. A copied configuration is yours to review, preview and change, and Go live in the editor is the only way it reaches shoppers.
Starting from a version also keeps inherited fields inherited. An archived version whose colours were left at their default is copied at the default, and a colour set to one of your brand colours is copied as that brand colour, not filled in with today's value. Otherwise the copy would silently freeze the current colour into the widget and break it at your next rebrand.
A widget you never published is invisible, however you configure it
A brand-new widget has a draft and nothing published, so it reads Offline and no shopper sees it whatever else you set. The versions page says so in plain words rather than naming a version that does not exist.
Changing a widget's format
A widget's format used to be fixed at creation. It is now editable, in the Widget type card at the top of the General tab, through the same draft path as every other setting, so switching a chat bubble to a question bar changes nothing your shoppers see until you go live.
The two formats do not carry the same settings, so changing format drops what the new one has no place for: a chat bubble's side offset and position; a question bar's placeholder. The editor names exactly which ones, with their current values, before it changes anything, and it says so only when something would actually be lost. The icon carries across, since a question bar uses it for its folded bubble.
Your translated text carries across in both directions: a chat bubble's Text becomes a question bar's Placeholder, and back.
Starting a new version from another makes the same disclosure. Copying a version whose format differs from the one you are looking at names the fields it will drop, in the same words, before it commits, because "put back the one that worked" is the path you reach for by accident, so it is the one that most needs to say what it will cost.
A/B testing a widget
Run the version on screen against your live version with real traffic split between them, and get a verdict you can trust: the traffic floor, the detection limit, and the one-session-at-a-time limitation to know before you start.
Preview
A real preview at real offsets, beside every tab of the editor, with a sample store or your own storefront behind it, a page-type simulator, a full-size view, and a short-lived link that shows a version on your live site.