

The Realtime board under Analytics, before the first shopper arrives.
ShopSocket puts what is happening in your store on screen the moment it happens, for staff and shoppers alike.
For your team: the ShopSocket board
A screen under WooCommerce that staff keep open all day.
Live and abandoned are not guesses from timestamps. A basket is live exactly while its shopper has an open connection to the site, and flips to abandoned the instant their last tab closes.
For shoppers: the storefront
How it works
WordSocket carries the events over one WebSocket per browser, with an SSE fallback. ShopSocket publishes order, stock, and basket events from WooCommerce’s own hooks, and reads presence from the relay to tell live baskets from abandoned ones. The storefront never polls: it fetches once per page load and then only reacts to events. The board does the same, plus a quiet refresh every 30 seconds as a safety net in case an event is ever missed.
ShopSocket requires WordSocket and a WPSignal account. WPSignal is an independent service and is not affiliated with or endorsed by the WordPress project or by WooCommerce.
What leaves your site, and who can read it
Every event is encrypted before it leaves WordPress, and WPSignal cannot read it. WordSocket encrypts the contents of every event with AES-256-GCM before it is sent: always on HTTPS sites, and on plain HTTP sites too with WordSocket 0.25 or later (older versions encrypt only over HTTPS). The key is derived from your site’s own WordPress salts in wp-config.php, which never leave your server and which WPSignal never has. The service relays ciphertext it has no way to open: it never sees an order total, a customer name, a product, or a stock level.
What is inside those encrypted events:
What the service does see, only because it needs it to route messages: channel names, how many browsers are connected, and each shopper’s presence, which is a random per-browser id and a keyed hash identifying their basket. None of it is personal, and none of it is reversible.
ShopSocket relies on the WPSignal service at api.wpsignal.io, reached through the WordSocket plugin. ShopSocket opens no connection of its own: everything below travels over the connection WordSocket already holds for your site.
Events are relayed in realtime and are not stored on the service. Event contents are AES-256-GCM encrypted before they leave WordPress (on HTTPS sites, and on plain HTTP ones with WordSocket 0.25 or later), with a key derived from your site’s own WordPress salts, so the service relays ciphertext it cannot read. A WPSignal account is required; the free plan is enough to start.
ShopSocket is developed in the open. The full, uncompiled source for everything in build/, together with the build tooling, lives at github.com/wpsignal/wordsocket-extensions under shopsocket/.
The compiled files in build/ are generated from src/ with:
npm install
npm run build
That runs @wordpress/scripts (webpack) for the board, settings and block bundles, and tsc for the Interactivity API storefront modules. The bundled styles under build/style-*.css are produced by that same build from @wordpress/components, which is GPL-2.0-or-later.