Get in touch
  • WordPress
  • v1.1.0

Audit Log — admin activity log for WooCommerce

An activity log for the WooCommerce admin area: who changed what, when, in orders, products, settings and users — with a "field / before / after" table. CSV export.

Download Free
Pro · one-year licence The more sites, the less each one costs
Compatibility
WooCommerce 7.0+ · WordPress 6.2+
PHP
7.4 or newer
Licence
two sites, annual
Trial
7 days, no card, one per site
Or all 173 Pro modules with All Access — 4 990 ₴ / year

The module in action — 45 sec

Clear even without sound: Ukrainian subtitles

What Free has,
and what Pro adds

The free version works with no time limit. Pro adds the rest of the features in the table.

Feature Free Pro
Orders: status, totals, payment method, addresses, line items, deletion and cart ✔ ✔
Logins, logouts and failed admin login attempts ✔ ✔
Products: price, sale price, stock, availability status, SKU, publish status ✔ ✔
Product categories, tags and attributes ✔ ✔
WooCommerce settings — compared key by key ✔ ✔
Users and roles, the fact of a password change (no value, no hash) ✔ ✔
Plugins and themes: activation, updates, deletion, active theme change ✔ ✔
Filters (user, event type, action, source, IP, date range) and search by value ✔ ✔
Expanding an entry into a "Field / Before / After" table ✔ ✔
CSV export, scheduled auto-cleanup and e-mail alerts for critical events — ✔
Logging actions outside the admin area: storefront, REST API, WP-Cron, WP-CLI — ✔

What it looks like

Audit Log for WooCommerce — admin activity log with filters
WooCommerce → “Activity log”: counters, filters by user, event type, action, source, IP and date, an entries table.
Audit Log for WooCommerce — expanded entry with a
Expanded entry: route, browser, entry ID and a “Field / Before / After” table — you can see exactly what changed on the product.
Audit Log for WooCommerce — Pro features visible greyed out in place
Pro fields aren’t hidden or replaced with a banner: they stay in place, greyed out, with a badge and a line about what they give you.

Key points

What gets logged

Every action becomes a separate entry: user, role, IP, time and a list of changed fields shown as “before → after”.

A log you can’t fake

Entries can’t be edited from the interface — there is no button and no request to edit or delete a single row.

Privacy by default

Passwords, tokens, API keys, card numbers and similar fields are masked before being recorded — they’re absent from the screen, the CSV export and the database dump alike.

The trial starts when you ask

A fresh install is the free version, nothing switches on by itself. The “Try Pro for 7 days” button → e-mail → the key right in the window and by e-mail.

One key — two sites

Moving the store? Unbind the licence on the old domain and activate it on the new one yourself. For studios — keys for 5 or 25 sites, or unlimited.

Technical requirements

  • WordPress 6.2 or newer, PHP 7.4+
  • WooCommerce 7.0 or newer; HPOS (separate order tables) and classic storage work the same way
  • Its own log table; deactivating the plugin doesn’t delete it — a log that a stray click can wipe isn’t a log

Running on our test stands

  • WordPress 7.1.1 · WooCommerce 10.7.0 · Storefront 4.6.2

Version history

v1.1.0 Current

Pro no longer switches on by itself: a fresh install is the free version until the owner starts a trial or activates a key.

v1.0.0 First release

Logging of orders, products, categories, settings, users, plugins and themes; “before → after” diffs, filters and search, secret masking, retention rules; Pro.

Frequently bought with Audit Log

4 modules in one order — 40% cheaper than separately

“Store starter” bundle Audit Log Nova Poshta Premium Mono Acquiring Telegram notifications and Viber/SMS for customers Need more — all 173 modules in All Access for 4 990 ₴.
2 490 ₴ / year instead of 4 160 UAH bought separately
Buy the bundle →

Full module description

Audit Log for WooCommerce keeps its own log: as soon as more than one person works in the store, questions come up — who changed the price, who cancelled the order, when the discount disappeared. WooCommerce doesn’t answer these: the order screen only shows status changes, and nothing else is recorded anywhere.

What gets logged

Every action becomes a separate entry: user, role, IP, time and a list of changed fields shown as “before → after”. Orders (status, totals, payment method, addresses, line items, deletion), products (price, sale price, stock, availability, SKU, status, dimensions, descriptions), categories, tags and attributes, WooCommerce settings compared key by key, users and roles, plugins and themes, plus logins, logouts and failed login attempts.

A log you can’t fake

Entries can’t be edited from the interface — there is no button and no request to edit or delete a single row. Only clearing by retention rules and a full wipe are available, and both of those are logged too.

Privacy by default

Passwords, tokens, API keys, card numbers and similar fields are masked before being recorded — they’re absent from the screen, the CSV export and the database dump alike. A password change is recorded as a fact, with no value and no hash. IP is taken only from REMOTE_ADDR, and storing the user agent can be switched off.

Size under control

Retention rules work by age and by row count (in Free, 90 days and 50,000 entries), and each event group can be switched off. In Pro, retention goes up to 10 years with no row limit.

Why a store needs this

Once more than one person has admin access, sooner or later the question “who changed the price” or “where did the product go” comes up. Without a log there’s no answer — only guesswork and a strained team.

An activity log settles this with facts: who, when, exactly what changed, and from what value to what.

How it works, step by step

1. The module switches on and starts recording admin users’ actions.

2. Each entry is a user, a time, an object, and a “before → after” change.

3. The log can be filtered by user, action type and period.

4. Old entries are cleared after a set retention period — with a button, or daily and automatically in Pro — so the table doesn’t grow forever.

Under the hood

The log lives in its own table and doesn’t bloat wp_options. Recording happens synchronously with the action, so there are no “gaps” in the log from a failed cron run.

The module doesn’t log what it has no right to keep: passwords, tokens, API keys and card numbers are masked before the entry is written. Addresses and other order data do get logged — as part of the before → after changes.

How to install

1. Upload the archive via “Plugins → Add New → Upload Plugin” and activate it.

2. Set the retention period for entries.

3. Change something on a test product and check that an entry appeared.

Questions
about the module

Didn't find the answer? Message us on Telegram and we'll reply within a business day.

@catcode_support Setup, compatibility, activation
Can a single entry be edited or deleted?

No. The plugin has no button and no request for that. Only two actions are available on the log as a whole — clearing by retention rules and a full wipe — and both are logged too.

Do passwords and payment gateway keys end up in the log?

No. Masking happens at the point of recording, not display: the value of such a field is never stored at all. The fact that a key was changed is still visible — otherwise a token rotation would go unnoticed.

Why don't I see changes made at checkout?

The free version logs actions in the admin area. Changes from the storefront, REST API, WP-Cron and WP-CLI are switched on separately in Pro — on a busy store that's the noisiest source.

Won't the log grow without limit?

No. Retention rules work by age and by row count, and each event group can be switched off individually. In Free the rules are applied with a button, in Pro with a daily task. Table size is shown on the log screen.

Where does the IP come from?

Only from REMOTE_ADDR — proxy headers can be spoofed by the visitor. Storing the user agent can be switched off if your data policy requires it.

Not quite what you are looking for?

We build custom modules for WordPress, WooCommerce, OpenCart and Shopify. Tell us about the task and we'll prepare an estimate.

Order a custom module