Shopify Product Activity Log vs Version History
Shopify’s product activity log can supply an author for a limited set of product events. A version history app records field-level changes, retains checkpoints and lets you restore an individual value or an earlier product state. Choose the timeline for a supported attribution question; choose version history when you need the changed data or a revert.
What does the product action menu open?
Product history is reachable from within the app for each tracked product. An admin link extension also adds the history entry to that product’s action menu in Shopify admin. You can move from the product page to its app record without finding the product again inside a separate list.
The destination is the app’s product history page, not an expanded version of Shopify’s store timeline. From there, you can filter history by changed field, change type, date range and free text. A changed-field filter can isolate a price entry, while the date range limits the period the app searches.
Which product changes enter the app history?
The app captures products/create, products/update and products/delete webhooks from Shopify. A BullMQ worker processes those events asynchronously and writes the resulting records to the product’s history. The tracked scope includes:
- Product create, update and delete events.
- Variant, image and metafield changes.
- SEO and collection-membership changes.
Those records separate the affected surfaces instead of reducing each update to one generic line. You can inspect a variant edit independently from a metafield, image, SEO or collection-membership change, then use the relevant history entry for review or restoration.
Which changes receive a staff name?
Shopify webhook payloads do not include the actor who made a change. The app therefore resolves a person from Shopify’s store timeline events through BasicEvent.author, but Shopify provides attributable events for only part of the app’s tracked scope.

The Unknown-author limitation appears in three places: a tooltip on each Changed by column, a banner on the product history page and a hint on the plan feature. A price entry can preserve the changed values without naming the person who submitted the edit.
How does the app rebuild a selected moment?
Each change is stored as the JSON Patch that describes it and appended to a change log. The app also writes a full product checkpoint every so often. Patches retain the individual edits, while a checkpoint supplies a full recorded state from which reconstruction can begin.

Writing a newer checkpoint does not erase an earlier point in time. The retained patches and checkpoints can still produce the state for that earlier moment. If the requested moment predates the plan’s retention window, the app refuses the restore and reports the date from which history remains available instead of returning a newer state.
What can you restore from a history entry?
You can revert an individual field to a previous value or return an entire product to a historical state. Before confirmation, the app displays a before-and-after comparison of the proposed write. For variants, that preview includes price and compare-at price, so you can inspect both values before reverting a price edit.
A point-in-time restore writes title, description, handle, vendor, product type, tags, status, template and SEO. It writes only the fields that differ at the selected entry. Variants, images, metafields and collections stay untouched by that product-level action, though each remains individually revertible.
Revert operations are idempotent, so the same revert cannot be applied twice. Reverts and snapshots are unlimited on all plans; the plan boundaries concern the number of tracked products and the length of retained history.
When is Shopify’s timeline enough?
Use Shopify’s store timeline when an attributable create, delete, publishing, unpublishing or status event answers the question. For those events, the app can pair its change record with the author Shopify supplies. You do not need a reconstructed state when the event and person provide all the evidence required.
Use the app history when you need the earlier value, the exact field that changed or a state you can restore. Title, description, price, tags, variants, metafields and images still show Unknown as the author, but their change records remain available for inspection and individual reverts within retained history.
Review SO Product History & Revert for its tracked-product and retention boundaries. More posts on the app are on the blog.