All writing
Adminlog

Tracking App-Driven Changes in Your Shopify Admin

2026-06-16·7 min read·Bedrock Content Team

When the Change Doesn't Come from a Person

Most merchants assume that if something changes in their Shopify store, a staff member did it. That assumption breaks down quickly once you have a handful of installed apps.

Third-party apps can update products, modify prices, add or remove tags, adjust inventory, and change dozens of other fields — all without any human clicking anything. Shopify's built-in activity log captures very little of this. A price change appears as a line item, but there's no indication of whether an app triggered it, which one, or what the original value was.

For stores with one or two apps and a single admin, this gap is manageable. For stores running a price optimization tool, a review platform, a loyalty app, and a feed manager alongside three or four staff members, the picture gets murky fast.

Why Shopify's Native Log Falls Short

Shopify does log some activity. The Timeline on an order, the staff activity in Settings, the product history available on some plans — these capture fragments of what's happening. But there's no unified view across entity types, and attribution is inconsistent.

When an app updates a product through the API, it might appear in Shopify's logs under the app's name — often with no field-level detail. You can see that something changed; you can't always see what it was before.

That ambiguity matters when something goes wrong. If a promotional app accidentally clears tags across a collection, tracing it requires either a support ticket to the app developer or a painstaking manual comparison against an older export. Neither is fast.

Honest Actor Attribution

Adminlog tracks changes across 10+ entity types in the Shopify admin and records each one with explicit actor attribution: staff, app, or system. The attribution is drawn from the actual webhook payload, not inferred, so it reflects what Shopify knows about who initiated the action.

That distinction is more useful than it sounds. When you filter the change log by "app," you see only what apps changed. Filter by "staff" and you see only what humans did. "System" entries are changes Shopify itself initiated — an automated fraud flag, a fulfillment status update, or a platform-level adjustment.

This separation gives you three reliable lenses on your admin activity:

  • Forensic: When something looks wrong, you can quickly narrow the field. Was this a staff error or an app misbehaving?
  • Operational: You can see what your apps are actually doing day-to-day, not just what their docs say they do.
  • Compliance: When a client, partner, or internal policy asks who changed something, you have a clear answer with a timestamp.

Field-Level Diffs: Before and After

Attribution tells you who made a change. Field-level diffs tell you exactly what they changed.

Adminlog records before and after values for each modified field. If a price optimization app changes a product's compare-at price, you see the old value and the new one in the same diff view — not just a note that the product was updated.

For product changes, this covers fields like title, price, compare-at price, tags, status, and variants. For other entity types — orders, customers, pages, collections, redirects — the coverage extends to the relevant fields for each type.

This matters when you're trying to understand the scope of a change, not just the fact of it. A staff member doing a bulk edit might touch 40 products. An app running a nightly sync might touch 200. Seeing what changed in each record is what lets you decide whether to intervene or let it stand.

A Practical Example

Consider a store running a dynamic pricing app that adjusts prices based on competitor data. The app runs on a schedule and updates prices overnight.

One morning, the store owner notices that several products are priced incorrectly. Without an audit log, the investigation requires:

  1. Filing a support ticket with the app developer to ask what ran overnight
  2. Comparing current prices against a manual export from the day before
  3. Hoping the app has its own internal change history

With Adminlog, the investigation is straightforward: filter by actor type "app," filter by the affected product, and look at the diff for the relevant time window. The before and after values are right there. If the change was unintentional, you have the original values to restore from — and the one-click product revert in Adminlog can bring a record back to a prior state without manually re-entering every field.

Building a Reliable Picture of Your Admin

No audit log replaces judgment. An app that changes a price might be doing exactly what it's configured to do. A staff member who removes a tag might be following an approved process. The log doesn't decide whether a change was right or wrong — that's a human call.

What it does is close the gap between "something changed" and "I know what changed, when, and who did it." That gap is where time gets wasted and where undetected problems compound.

For stores with multiple staff, an agency relationship, or a set of apps with write access to the admin, that gap is real. The more actors touching your store, the higher the chance something changes without anyone noticing.

Adminlog doesn't assume bad intent. It records what happened so you can make that determination yourself.

Getting Started

If you're managing a Shopify store with more than one person or app making changes, it's worth understanding what your current change history actually looks like. You might find it's thinner than you assumed.

Adminlog connects via webhooks and begins capturing changes as they happen. Setup takes a few minutes, and no historical data is imported — the log builds from the install date forward.