Configuration
All of Proof’s settings live on one screen, WooCommerce → Proof. Defaults work out of the box; the settings let you tune what each popup shows, where and how often it appears, and which orders feed it.
Fields and privacy
Section titled “Fields and privacy”These control the only personal data a popup can ever display:
- First name — toggle whether the customer’s first name appears.
- Billing city — toggle whether the billing city appears.
- Fallback name — the neutral word shown in place of a missing first name, for example “Someone”.
That is the full extent of personal data Proof exposes to the browser. Surnames, emails, full addresses, order numbers and any other personal data are never sent to the front end, regardless of settings.
Position
Section titled “Position”- Corner — which of the four screen corners the popup is fixed to. Because it is fixed, it never reflows page content and does not affect Cumulative Layout Shift.
Timing
Section titled “Timing”- Initial delay — how long after the page loads before the first popup appears. A short delay avoids interrupting the visitor the instant they arrive.
- Display time — how long each popup stays on screen before it auto-dismisses.
- Interval — the gap between one popup dismissing and the next appearing.
Frequency cap
Section titled “Frequency cap”- Maximum popups per page view — an upper limit so a single page does not show an endless stream of notifications. Once the cap is reached, no more popups appear until the next page load.
Where popups are allowed to appear:
- Whole storefront — every front-end page.
- Shop, archives and products — catalogue pages only.
- Single products only — product pages only, where social proof is closest to the buying decision.
Order window
Section titled “Order window”Controls which orders feed the rotation:
- Maximum order age — the oldest an order can be and still appear. Keeps the proof genuinely “recent”.
- Maximum number of orders — how many recent orders to draw from.
Proof only ever uses orders with the status completed or processing within this window.
Demo data
Section titled “Demo data”- Demo data — off by default. When enabled, it only activates if there are no real qualifying orders, so it is purely a preview aid on a brand-new store. It never overrides or mixes with real sales: as soon as you have qualifying orders, real data is used.
How the feed is built and cached
Section titled “How the feed is built and cached”Proof reads recent completed and processing orders, newer than your maximum order age, up to your maximum number of orders. This query runs at most once every few minutes via a cached transient — never on every page load — so it adds no per-request database cost.
Performance and accessibility (always on)
Section titled “Performance and accessibility (always on)”- A tiny vanilla-JavaScript widget loaded
deferin the footer. No jQuery. - Fixed to a corner, so no layout shift.
- Lives in an
aria-live="polite"region, so screen readers announce each popup without losing focus. - Keyboard-focusable dismiss button with a visible focus ring; focus is never trapped.
- Motion respects
prefers-reduced-motion; dark-mode aware.
Housekeeping
Section titled “Housekeeping”Deleting the plugin removes the proof_settings and proof_db_version options and the cached feed. Proof creates no custom database tables and connects to no external services — all data is your own WooCommerce order data.