Who Changed My Shopify Product? Attribution Limits
Shopify can identify who changed your product only when its store timeline supplies staff attribution for that action. Product History & Revert records a wider set of product changes from webhooks, but title, description, price, tags, variants, metafields and image edits still show Unknown. The change record and the author record come from different Shopify sources.
Where does the Changed by name come from?
Product changes reach the app through Shopify's products/create, products/update and products/delete webhooks. Each captured difference is stored as a JSON Patch and appended to the product's history. That patch describes what changed, not who made the edit.
The Changed by value comes from Shopify's store timeline events instead. The app looks for a timeline event that can identify whoever performed the corresponding action. If Shopify does not expose staff attribution for that type of change, the app cannot derive a name from the product webhook.
Read the two parts of an entry separately. The JSON Patch can establish that a field moved from one value to another, while the store timeline determines whether Changed by contains a staff name. A detailed field record does not expand the attribution Shopify provides.
Which actions can carry a staff name?
Only these product actions can carry a name from Shopify's store timeline:
- Create
- Delete
- Publish or unpublish
- Change product status
A name on one of these entries belongs to that recorded action. A staff member attached to a status change is not also the author of a nearby price, tag or variant edit. Use the event boundary instead of extending the name across adjacent history entries.
One product can therefore have both named actions and Unknown authors in its history. The entries do not conflict: Shopify supplied attribution for one action type and withheld it for another. The timestamp and recorded change remain separate from that availability.
Which product edits remain Unknown?
Changes to title, description, price, tags, variants, metafields and images show Unknown. The app does not assign a staff member to any field in that exact set. Another named event on the same product does not fill the missing author.
Unknown describes the attribution field, not the presence of a change record. The stored JSON Patch can still show the values involved in a title, price or tag edit. You can confirm the recorded difference without claiming that Shopify identified the person responsible.
Keep the limit visible when several fields change close together. A named publishing event supports attribution for publishing or unpublishing only; it does not identify whoever changed a description, image or metafield. Each entry retains the attribution allowed for its own action type.
Where does the app explain Unknown authors?
Every Changed by column includes a tooltip for the attribution caveat. Open it where you are reading the author instead of treating Unknown as a missing app record. The tooltip marks the boundary between Shopify's named store timeline actions and unsupported field attribution.
History is available per product. Within that history, you can filter by changed field, change type, date range and free text. Those controls narrow the records you inspect, while the Changed by value and its tooltip tell you whether the selected action can carry a person.
Start with the change type when a name matters. If the entry records create, delete, publishing, unpublishing or a status change, check Changed by. For title, description, price, tags, variants, metafields or images, use the recorded values without presenting Unknown as staff attribution.
What can you restore from an Unknown entry?
An Unknown author does not erase the historical value stored for the product. You can revert an individual field to a previous value or revert the entire product to a historical state. Before confirmation, the revert presents a before-and-after comparison of the proposed change.

The reconstruction sequence in the figure depends on checkpoints and stored changes, not staff attribution. Review the comparison to decide whether the earlier value is the state you want. Changed by answers the narrower question of whether Shopify supplied a person for the source action.
Revert operations are idempotent, so the same revert cannot be applied twice. That protection concerns the write back to Shopify rather than the author shown in history. Check the preview for the resulting values even when the source entry names a staff member.
How far back can you use the history?
The plan's retention window sets the oldest usable restore moment. The app refuses a restore to a time older than that window, whether the relevant entry has a staff name or shows Unknown. Reverts and snapshots are unlimited on every plan; plans differ by tracked-product count and history retention.
More posts on Product History & Revert are on the blog.