WooCommerce Sales Notifications: Setup Guide

Version note: product settings in this guide were checked against the TrueProof 2.4.0 release on September 17, 2026. New-install defaults and upgrade behavior are distinguished below.

Short answer: you can add recent order notifications to WooCommerce without sending order data to a social-proof SaaS. Install TrueProof Free from WordPress.org, open Settings → TrueProof, select Real Data and WooCommerce orders, review the public fields, choose where the widget should appear, enable it, and save. TrueProof then turns eligible orders already stored in WordPress into notification bubbles.

In the current Free version, an eligible WooCommerce order must have the status Processing or Completed. Notifications are recent rather than instantaneous: the plugin caches its event list for three minutes, and the browser loads the list once when each page is opened. That distinction matters if you are comparing it with a hosted service that maintains a continuous live connection.

What does “without SaaS” mean here?

A hosted social-proof platform usually receives events from your store, processes them on the vendor’s infrastructure, and serves a widget from that external service. TrueProof Free follows a different model. Its own code reads supported WooCommerce records inside your WordPress installation, prepares the public notification fields on your server, and exposes them through a same-site WordPress REST endpoint.

During normal Free-plugin use, TrueProof’s code does not send notification-source records to a TrueProof service. The browser requests your own /wp-json/trueproof/v1/events endpoint. See the official WordPress REST API reference for how WordPress exposes JSON resources.

This first-party architecture reduces the number of systems involved, but it does not remove your responsibilities. The endpoint is deliberately public because a visitor’s browser needs to read it. Anything included in a bubble should therefore be treated as public website content. Paid licence activation is a separate flow: licence validation sends the licence key, site URL and licence action to wptrueproof.com, but not the WooCommerce records used for notifications. The TrueProof privacy documentation explains that boundary in detail.

What you need before setup

  • A working WordPress site running WordPress 6.0 or newer and PHP 8.0 or newer.
  • WooCommerce installed and active.
  • At least one recent order with a Processing or Completed status if you want to verify Real Data Mode.
  • A staging site for test transactions. WooCommerce advises testing orders on staging because test orders can trigger emails, reach integrations and appear in analytics. Read its official test-order guidance before creating one.

WooCommerce defines Processing as paid and awaiting fulfilment, while Completed means fulfilled and requiring no further action. Pending payment, On hold, Failed, Canceled and Refunded have different meanings. TrueProof Free intentionally ignores those statuses for its built-in WooCommerce source. The WooCommerce order-status reference is useful if an expected event is missing.

How to add WooCommerce recent order notifications with TrueProof Free

1. Install and activate the plugin

  1. In WordPress Admin, go to Plugins → Add New.
  2. Search for TrueProof.
  3. Choose Install Now, then Activate.

The official Manage Plugins guide documents this workflow. TrueProof leaves a new widget disabled until you review its settings.

2. Select Real Data and the WooCommerce source

  1. Open Settings → TrueProof.
  2. Under Data mode, select Real Data.
  3. Under Real data sources, select WooCommerce orders.
  4. Choose a Look-back window. The default is 30 days; the allowed range is 1–365 days.
  5. Set Max events. The default is 12; the allowed range is 1–50.

Real Data Mode and Simulation Mode are separate. Simulation is only a design preview with explicitly worded sample events, and every simulated notification carries a visible Demo label. Do not use it to imply that sample orders are genuine. See data sources and displayed fields for the current plan boundaries.

TrueProof identity modes: Fully anonymous shows Someone without location; Short name and Full name retain more identity fields
Identity-output reference for TrueProof 2.4.0, based on the released settings and event-normalisation code. Illustrative values, not customer data.
Illustrated walkthrough of TrueProof 2.4.0. The interface and order are staged examples, not a recording of a customer store or evidence of sales results.

Install free on WordPress.org

Read the setup walkthrough
  1. 0:00–0:15: Install TrueProof from WordPress.org and open Settings → TrueProof. New installations keep the public widget disabled until you publish it.
  2. 0:15–0:25: Choose Real Data and WooCommerce orders. An eligible order needs processing or completed status within the selected look-back window.
  3. 0:25–0:35: Under Privacy, select Fully anonymous. Real events use “Someone” and an empty location. Upgraded installations retain their previous choice until you change it.
  4. 0:35–0:51: Check the eligible-event count, review public fields, enable notification bubbles and save. A nonzero count in this animation is illustrative; your store must supply its own eligible data.
  5. 0:51–1:04: Verify the events endpoint and storefront. The example “Someone purchased Demo Mug” illustrates the expected shape; it is not a live sales claim.
  6. 1:04–1:12: Install free and measure the effect on your own store. No conversion improvement is promised.

3. Review exactly what visitors may see

For each eligible WooCommerce order, the built-in source can prepare:

  • a display name;
  • an optional billing city and country;
  • an action such as “purchased [product name]”;
  • a relative time such as minutes, hours or days ago.

For multi-item orders, the built-in message uses the first item’s name. It omits order numbers, email addresses, street addresses and totals. TrueProof 2.4.0 identity controls: new installations default to Fully anonymous: real events display “Someone” with no city or country. Short name shows a first name and surname initial when available, plus location; a single-field name remains as stored. Full name shows the stored public name and location. Email-shaped name values are suppressed in every mode.

Upgrades retain the previous shortened-name or full-name setting until an administrator changes it. Open Settings → TrueProof → Privacy, select Fully anonymous (recommended), save and inspect /wp-json/trueproof/v1/events in a logged-out browser. The setting controls public output; it does not rewrite the underlying WooCommerce order. Review the action and product name too: removing identity fields does not make every possible product disclosure appropriate.

4. Choose placement and timing

TrueProof Free supports bottom-left or bottom-right placement, an accent colour, and two page scopes: All pages or Front page only. Pro adds selected-context rules for posts, pages, WooCommerce products and archive views. The full option list is in the display settings guide.

The initial timing values are a three-second start delay, five seconds visible and a four-second gap. Treat them as defaults, not universal best practices. Check that a notification does not cover add-to-cart controls, cookie notices, chat buttons or mobile navigation. A slower cadence is often easier to evaluate than several rapid interruptions.

5. Enable, save and inspect the front end

  1. Select Enable notification bubbles on the selected pages.
  2. Save the settings.
  3. Open an eligible page in a logged-out private browser window.
  4. Wait for the configured start delay.
  5. Verify the name, location, product wording, relative time, position and dismissal control.

A visitor can dismiss the widget for the current browser session. If you dismissed it during testing, start a new private session before concluding that it has failed.

How the WooCommerce integration works

TrueProof uses WooCommerce’s standard wc_get_orders() API rather than querying order database tables directly. WooCommerce recommends this API as the future-compatible way to retrieve orders, including stores using High-Performance Order Storage. See the WooCommerce developer documentation for order queries.

The plugin requests the newest Processing and Completed orders created inside the configured look-back window, sorts the resulting events newest first, and limits the list to your Max events setting. It caches that prepared list on the server for 180 seconds. The public REST response also carries a 60-second browser/cache instruction.

The front end uses dependency-free JavaScript. After the page DOM is ready, it fetches the same-site endpoint once and cycles through the returned events using your timing settings. It does not continuously poll for new orders. A sale created while someone keeps a page open will therefore not appear automatically; the visitor would need a later page load after the relevant caches refresh.

Privacy and performance checks

Privacy: open /wp-json/trueproof/v1/events while logged out and read the JSON as if you were an unknown visitor. Confirm that every returned name and location is acceptable for public display. Document your choice of source, fields and lawful basis. First-party processing can simplify the data flow, but it does not by itself establish GDPR, ePrivacy, CCPA or other legal compliance.

Performance: TrueProof only enqueues its CSS and JavaScript on pages where its current display rule allows the widget. The script has no jQuery dependency, and the server-side event cache avoids rebuilding the list on every request. Still, the real impact depends on your theme, hosting, page cache, security plugins and other scripts. Measure representative product, cart and content pages before and after activation rather than promising a zero-cost widget.

Compare JavaScript errors, Core Web Vitals lab measurements and endpoint response time. Confirm that a CDN or security layer does not block /wp-json/trueproof/v1/events. Do not cache personalized or authenticated data under this public path.

Reproducible verification checklist

  1. Use a staging copy with customer data removed or appropriately protected.
  2. Enable a payment gateway’s sandbox/test mode; do not submit a real payment merely to test the notification.
  3. Create one order using an obviously fictional test identity and a known product.
  4. Set the order to Processing or Completed and note its creation time.
  5. In TrueProof, select Real Data, WooCommerce orders, a look-back window that includes the test order, and at least one Max event.
  6. Under Privacy, select Fully anonymous (recommended), select an eligible page scope, enable the widget, and save.
  7. Open /wp-json/trueproof/v1/events while logged out. Confirm that the test event appears and no unwanted field is present.
  8. If it does not appear, wait three minutes for the event cache, save the settings again, or clear only the relevant application/CDN cache.
  9. Open a matching front-end page in a new private session and verify the bubble after the start delay.
  10. Check mobile and desktop layouts, keyboard dismissal, browser console errors and page-performance measurements.
  11. Delete the staging test order when finished so it is not fulfilled, emailed or counted as a real sale. WooCommerce notes that extensions may not distinguish test orders from genuine ones.

Troubleshooting recent order notifications

The REST endpoint returns an empty array

Confirm that WooCommerce is active, Real Data is selected, WooCommerce orders is checked, and the widget settings were saved. Check that the order is Processing or Completed and falls inside the look-back window. Pending, On hold, Failed, Canceled, Refunded and custom statuses are not included by the built-in WooCommerce source.

The endpoint contains events, but no bubble appears

Confirm that the widget is enabled and the current page matches Show on. Start a fresh private session in case the widget was dismissed earlier. Then check browser developer tools for blocked JavaScript, Content Security Policy errors, REST failures or an aggressive optimization plugin. The TrueProof troubleshooting checklist provides a compact diagnostic sequence.

A new order does not appear immediately

Allow for the three-minute server cache and any additional page, REST or CDN caching. Remember that an already-open page does not poll repeatedly. Reload in a new private session after the caches have expired. If the order remains Pending or On hold because a gateway has not confirmed payment, resolve that order-state issue rather than forcing it into a social-proof feed.

The displayed product is not the one you expected

For a multi-item order, the built-in notification uses the first returned line item. TrueProof Free does not provide a per-product message builder or choose the highest-value item. Verify the order contents before treating this as a cache problem.

How to measure whether notifications help

TrueProof does not include analytics or advertising integrations, and a notification widget does not guarantee a conversion increase. Use analytics appropriate for your store and consent setup. Record the activation date, scope, timing, traffic sources and simultaneous changes. Track completed orders per eligible session plus guardrails such as checkout completion, mobile usability and page speed.

A simple before/after comparison can be distorted by promotions, weekday patterns, stock, traffic quality and seasonality. If your traffic permits, use a controlled experiment that holds offer, audience and page design constant. Do not call a result conclusive after a handful of sessions or orders, and do not infer purchase impact from how often a bubble was merely displayed.

Who is this approach for?

It is a practical fit for:

  • WooCommerce stores with genuine Processing or Completed orders to show;
  • site owners who prefer a WordPress-hosted event source over a separate social-proof SaaS;
  • stores that need a simple recent-order bubble with basic placement, timing and identity-display controls;
  • teams willing to inspect the public fields and measure results on their own stack.

It is not the right fit if you need:

  • an instantaneous, continuously updated order stream;
  • support for custom WooCommerce order statuses without development;
  • built-in experimentation, attribution or notification analytics;
  • fine-grained product, post and archive placement rules in the Free plan;
  • fake scarcity or unlabelled simulated purchases;
  • a plugin that makes legal-compliance decisions for you.

Frequently asked questions

Does TrueProof Free send WooCommerce orders to a SaaS?

During normal Free-plugin use, its own code reads eligible orders on your WordPress site and serves configured public fields from the same site. WooCommerce notification-source records are not sent to wptrueproof.com.

Are the notifications real-time?

No. They show recent eligible activity. The event list is cached for three minutes, and the front end fetches it once per page load rather than maintaining a live connection.

Will recent order notifications increase sales?

They may or may not help a particular store. Traffic quality, offer, trust, page design and checkout friction can outweigh any widget. Establish a baseline, test the configured pages, and judge the result using orders and user-experience guardrails—not a generic conversion claim.

Can a new store use sample notifications?

Simulation Mode can preview the interface, but every sample event is explicitly worded and marked with a visible Demo label. Use Real Data Mode when publishing genuine WooCommerce activity. For the broader distinction, read Real Data Mode vs Simulation Mode.

For a concise installation summary and links to every setting, continue with the TrueProof documentation hub.