Custom Field Auditing (Premium)
Chada Activity Monitor can track changes to individual post meta fields — including ACF fields, WooCommerce product meta, and any custom meta key — and record the old and new values in the event’s context JSON. This feature requires an active premium license.
Enabling meta auditing
- Go to Activity Log → Settings and click the Meta Auditing tab.
- Choose a Meta mode.
- If using Allowlist or Denylist mode, enter your meta keys in the Meta keys field.
- Click Save Settings.
Meta mode options
| Mode | Setting value | Behaviour |
|---|---|---|
| Off | off |
No post meta changes are audited. The content sensor still records that a post was updated, but individual field changes are not captured. This is the default. |
| Allowlist | allowlist |
Only track changes to the specific meta keys listed in the Meta keys field. All other meta keys are ignored. Best when you care about a small, defined set of fields. |
| Denylist | denylist |
Track changes to all meta keys except those listed in the Meta keys field. Use this to suppress noisy internal keys (caches, transients, revision data) while auditing everything else. |
Specifying meta keys
Enter one meta key per line in the Meta keys field. The field accepts:
- Standard meta keys — e.g.,
_price,_stock,_sku(WooCommerce),_thumbnail_id. - ACF field keys — use the ACF field key (starting with
field_) to track a specific ACF field regardless of what its meta key is, or use the meta key directly (e.g.,my_text_field). - Wildcards — prefix with
_to match all private meta keys, or useacf_to match all ACF-prefixed keys.
_price
_stock_status
my_product_note
field_65a3f2b8c4e91
How changes are recorded
When a post is saved and a tracked meta key has changed, Chada Activity Monitor records an event in the content group with event code content.meta_updated. The context JSON includes the key name, the previous value, and the new value:
{
"meta_key": "_price",
"old": "29.99",
"new": "34.99"
}
If multiple tracked keys change in the same save, each key generates its own event row so you have a granular audit trail.
Common use cases
- WooCommerce pricing changes — allowlist
_price,_regular_price,_sale_price,_stock,_stock_status,_skuto audit every product update. - ACF field auditing — add your ACF meta keys by field name to know exactly when content was changed and what it changed from.
- Suppressing WordPress noise — use Denylist mode and exclude
_edit_lock,_edit_last,_yoast_wpseo_*, and other frequently written internal keys.
Was this page helpful?