Sooner or later, every admin gets the question that has no good answer without preparation: “who changed the credit limit on this account, and what was it before?” If auditing is off — and it is off by default — the honest reply is a shrug. Dataverse auditing is the feature that turns that shrug into a two-click lookup, and enabling it costs you one afternoon decision about scope.
The two switches
Auditing is opt-in at two levels, and both have to be on. The first is the environment switch: in the Power Platform admin center, under the environment’s audit settings, you start auditing for the whole environment. The second is per table: in the maker portal, open the table’s properties, expand Advanced options, and check Audit changes to its data.

You can go a third level down and pick individual columns to audit (on the column’s advanced settings), which is how you keep the log focused on fields that matter — credit limits, owner changes, status — instead of recording every keystroke on a description field.
What you get
From the moment both switches are on, every create, update, delete — and optionally record access — is written to a tamper-resistant log. On any record, Related > Audit History shows the trail: who changed what, the old value, the new value.

That one grid answers the entire “who changed this” genre of questions. The Filter On dropdown narrows it to a single field, which is exactly what you want when the question is about one number on one account. Deletes are captured too — including who deleted a record, which is otherwise one of the platform’s genuinely unanswerable questions. And because the change I made above came in through the API, note that auditing does not care how a change arrives: users, imports, integrations and flows all leave the same footprints.
Scope it like you mean it
The classic mistake is turning auditing on for everything, then discovering the log is enormous and the useful signal is buried. Audit data consumes log capacity, so scope deliberately: audit the tables where history has business value (accounts, cases, anything with money or entitlements on it), and within them, the columns a regulator, a manager, or a debugging admin would actually ask about. Skip system-maintained noise. Review retention too — the admin center lets you set how long audit logs are kept, and “forever” is a storage bill, not a compliance strategy.
Where it saves you
Three scenarios pay for the setup many times over. Compliance: when an auditor asks who has modified pricing fields in the last quarter, you export the answer instead of reconstructing it. Debugging: when a record is mysteriously “wrong”, audit history distinguishes user error from a misfiring workflow in seconds — the Changed By column names the culprit, human or system. And accountability: teams behave differently, in a healthy way, when everyone knows changes to sensitive fields are attributable. None of this requires code, and all of it requires having flipped the switches before the incident. Turn it on this week, scoped to your ten most sensitive columns, and future-you will send thanks.
