It depends on what changed. Shopify's help pages describe no undo button for a saved product edit, and say a deleted product can't be restored, so the usual fix is to type the old value back in. If you have Actorly installed, it can put 15 named fields back one at a time, after you confirm the exact value and it has checked the field first.
Undo by situation
| Situation | What Shopify's help pages say | What Actorly can do |
|---|---|---|
| A theme editor change you have not saved | The undo and redo buttons work on unsaved customizations. After you save, you can no longer undo or redo. | Nothing to record: nothing has been saved yet. |
| A theme code file you saved | The code editor's Timeline restores one file at a time and replaces the whole file. Its history is finite, and asset files have none. Duplicating the theme first gives you a backup copy. | Records which theme is published and its name. It does not compare files or restore a theme. |
| A product field you saved | No undo button is described for a saved edit. | Puts back 15 named fields, one at a time, after checking the value took. |
| A CSV import | An import can overwrite products with matching handles, and a blank column overwrites a value with blank. The help page does not describe undoing an import. | Records the changes it receives, with the old and new value. A restore is one field at a time for named fields, after you confirm the exact value, checked afterwards. |
| A deleted product | Deleted products are permanently removed and can't be restored. Archiving is the suggested alternative. | It does not recreate a deleted product. It keeps the deleted product's record and its last recorded values, so you can see what it was and, on Restore, export them. |
What Shopify gives you
Start with what the help pages say, because the answer changes by the kind of change.
- A deleted product. Shopify says deleted products are permanently removed and can't be restored. If you only want to stop selling something, Shopify suggests archiving it. Unarchiving sets the status to Draft.
- A discount. You can temporarily deactivate an unexpired discount, and you can reactivate an expired one. Shopify says reactivating an expired discount makes it Active with no set end date, so check the dates afterward.
- A product description or other detail. Shopify says you can change product details at any time. Its product pages do not describe reverting an edit.
So for most edits the route is manual: find the old value somewhere (a spreadsheet export, a teammate's note, a screenshot), then type it back in.
What Actorly can put back
Actorly is not an undo button. It is not a copy of your store: it keeps the old and new value of each change it records, from the day it is installed, and for a stated set of fields it can write an earlier value back. Actorly does not restore a whole store. One field at a time for named fields, after you confirm the exact value, checked afterwards.
The 15 fields, each checked end to end on Shopify's 2026-10 API:
- Product: title, status, vendor, product type, description, theme template, tags
- Variant: price
- Collection: title, description, sort order
- Location: name
- Market: name
- File: alt text
- Shipping profile: name
A field that is not on that list cannot be restored, however the app looks. The Coverage page lists the same fields and marks which need Actorly Restore.
Putting products back to a date and time
Actorly Restore can put your products back to how they were at a date and time you choose.
Pick a date, a time and what to restore. Actorly shows you every field that would change, and what it is leaving out, before it touches anything. Then it puts each field back and reads it from your store again to confirm.
Available on Actorly Restore. Up to 500 fields in one go. Covers the fields Actorly can put back, which are listed in the app. Items deleted since then are left out, and so are fields Actorly has no recorded value for. A field someone has changed since you looked at the summary is not overwritten.
How a restore works
You start from a change in the history and choose Restore this value. Then:
- Look. Actorly asks Shopify what the field is right now, not what Actorly last saw.
- Compare. It checks that the field is still what it was when you opened the restore. If someone edited it in between, Actorly stops, because it will not overwrite a change you have not seen.
- Confirm. You confirm the exact value to be put back.
- Write. Actorly changes that one field and nothing else.
- Look again. It asks Shopify again what the field is now, because "accepted" is not the same as the value being right.
- Check. It compares what Shopify now holds with what it put back. Only then does it say Restored.
- Record. The result goes into the history whether it worked or not, as an Actorly action.
If a check before the write fails, nothing is changed. If Actorly cannot confirm the value after the write, it says so and asks you to look at the record in Shopify.
What cannot be put back
- Deleted items. It does not recreate a deleted product. It keeps the deleted product's record and its last recorded values, so you can see what it was and, on Restore, export them.
- Inventory counts. Actorly's choice, because stock moves between a change and your review and writing an old count back could create a false stock position.
- Orders and customers. Actorly's choice, because reverting an order, for example a delivery address, could send a parcel to the wrong place.
- Themes. Shopify's limit, because an app can change a theme only with an exemption Shopify grants, and Actorly does not hold one.
- Store settings. Shopify's limit, because Shopify gives an app no way to change them.
One thing to check before you restore a variant price
A variant price restore writes that variant's price only. A market price fixed to an amount is not touched. One set as a percentage is worked out from this price, so it moves with it. The compare-at price is not changed. Actorly tells you this before you confirm.
Restoring tags overwrites the whole tag list, and Actorly shows which current tags would be removed first.
What the free plan includes
Actorly Watch, the free plan, includes one restore a month, counted over the last 30 days, on 12 of the 15 fields. A product's status, a variant's price and a collection's sort order need Actorly Restore, which is $29 a month or $240 a year and includes unlimited restores. See pricing. Seeing what changed is free either way.
Frequently asked questions
Can I undo a Shopify product edit I just made?
Shopify's help pages do not describe an undo for a saved edit, so type the old value back in. If Actorly was installed before the edit, it can show you the old value and, for the 15 fields, put it back.
Can I get a deleted product back?
Shopify says deleted products can't be restored. It does not recreate a deleted product. It keeps the deleted product's record and its last recorded values, so you can see what it was and, on Restore, export them.
Can Actorly roll my store back to yesterday?
Not as a copy of your store: Actorly keeps changes, not a snapshot. One field at a time for named fields, after you confirm the exact value, checked afterwards. Actorly Restore can put your products back to how they were at a date and time you choose.
Available on Actorly Restore. Up to 500 fields in one go. Covers the fields Actorly can put back, which are listed in the app. Items deleted since then are left out, and so are fields Actorly has no recorded value for. A field someone has changed since you looked at the summary is not overwritten.
Does a restore always work?
Actorly checks before it writes, and checks again after. If the value Shopify now holds does not match, it says so instead of reporting success.
For a worked example, read how to put a product description back. To see the limits in the other direction, read Is Actorly a backup?.