ItemFits – Product & Space Checker Wordpress Plugin - Rating, Reviews, Demo & Download
Plugin Description
Big items come back when they do not fit. ItemFits answers the question shoppers ask before they buy furniture, appliances and other large products: will it get in?
- Product Fit on product pages: the shopper enters their door, hallway, stairs, elevator, room or car, and gets a clear answer for the product and option they are looking at, with the tightest point and how much room is left.
- Chat on every page: shoppers ask in their own words (“will this sofa go up my stairs?”) and the answer comes from the same fit check.
- Cart check: everything in the cart, checked against the shopper’s spaces.
- Fit consultations: when an answer is “no” or not certain, the shopper can send photos of the space or ask the store to call back.
The widgets are the same ones ItemFits runs on Shopify and Wix stores, with the same answers. You choose where they appear: blocks for block themes (Product Fit is added next to the add to cart button and can be moved in the Site Editor), WooCommerce hooks for classic themes, and shortcodes ([itemfits_product_fit], [itemfits_cart_fit]) for page builders.
What you need
- WooCommerce.
- An ItemFits account. You create one, or sign in, when you connect the plugin.
ItemFits is a service: the fit checks run on ItemFits’ servers using your product catalog, so the plugin does nothing until you connect it. The plugin itself is free and has no locked features. The ItemFits service is paid: every store starts with a free 2-day trial, and after it a monthly or yearly ItemFits plan keeps the service running. Plans, prices and usage limits are listed and managed on itemfits.com, and the plugin never asks for a licence key.
External services
This plugin connects your store to the ItemFits service (https://itemfits.com), run by ItemFits. It is needed for every feature: fit answers are computed by ItemFits from your catalog. Nothing is sent before you click Connect to ItemFits. Every request from your site is signed with a secret your site and ItemFits share.
What is sent, and when:
- When you connect: your site address, a random site id created by the plugin, your store name, the WordPress admin email address, currency, measurement and weight units, language, time zone and the WordPress, WooCommerce, PHP and plugin versions. You sign in to ItemFits on itemfits.com to approve the connection.
- After connecting, and whenever a product changes: your product catalog: titles, descriptions, categories, tags, brands, options and variations, prices, stock status, visibility, image addresses, product sizes and weights, and any ItemFits product fields. Deleted products are reported so ItemFits removes them. ItemFits never receives your orders, customers or WordPress users, and never changes your products.
- Once a day: that the plugin is still active, the number of products, and the store details listed above (without the admin email address).
- When you turn the plugin back on: that it is active again. If ItemFits no longer holds your admin email address (it deletes it after a removal), the plugin sends it once more, so your ItemFits emails (welcome, size reports, fit consultation notices) can reach you.
- When you open the ItemFits dashboard (WooCommerce ItemFits, a screen button): your browser opens itemfits.com with a one-time sign-in token your site signs. It carries your store’s ItemFits id, your WordPress user id, your admin language and the screen to open, and works once, within 60 seconds. Product sizes, branding, reports and settings are ItemFits pages on itemfits.com; you stay signed in there for 8 hours.
- When you disconnect, deactivate or uninstall the plugin: that it happened.
- When you use WordPress’s privacy tools (Tools Export Personal Data / Erase Personal Data) while connected: the request, the shopper’s email address that WordPress confirmed, and your own email address for the reply. ItemFits answers within 30 days.
On your storefront, the ItemFits widget talks to ItemFits directly from the shopper’s browser (https://itemfits.com/api/woocommerce/storefront/):
- When a page with a widget loads: your store’s ItemFits id, to load the widget’s settings and wording, and your store’s logo from ItemFits (https://itemfits.com/api/commerce/branding/logo/) if you set one.
- When a shopper uses a widget: their questions and the sizes they enter (their door, stairs, room or vehicle), the product and option they are looking at, and their cart contents, to answer them. These requests carry a short-lived token your site signs; your site hands it to the widget on the shopper’s first interaction. ItemFits sees the shopper’s IP address like any website does.
- Fit checks, chat messages and answers are recorded for every shopper, whatever their cookie choices, so that you and ItemFits can review whether answers were right: the question and the answer shown, the product and option, the sizes checked, the result, the time, the device type and whether a store customer was signed in (never who). No shopper identifier, customer id, name or page address is stored with them, and email addresses and phone numbers typed into a chat are removed before the text is stored.
- Widget usage events (opening and closing a widget, starting a check, entering sizes, viewing a result, adding to the cart) are sent only when the shopper’s choices allow statistics through the WP Consent API, or when the site has no consent plugin.
- Fit consultations: a shopper who chooses to send photos of a space or to ask for a call back sends those photos and the contact details they type. Photos and those details are erased 90 days after the case opened.
- Fit result on the order: when a shopper checks a product that is in their cart, ItemFits answers with a signed record of the result (product, space, result; no personal data), which the plugin keeps with the cart and copies onto the order for your staff, unless the shopper chooses not to add it. It stays in your WooCommerce store.
Recorded checks, chats, usage events and consult cases are erased after 400 days.
ItemFits terms of service: https://itemfits.com/terms
ItemFits privacy policy: https://itemfits.com/privacy
Source code
The plugin’s PHP, the block scripts (blocks/) and assets/js/placement-controls.js are shipped as written.
Two parts are compiled, and their human-readable source ships with the plugin in the source/ folder (it is not loaded by WordPress):
- The storefront widget in
assets/widget/<version>/(the folder name is the widget version). It is written in TypeScript with Preact and bundled with esbuild into plain JavaScript modules and CSS. The bundle is not minified. Eachchunk-*.jsfile is a group of source modules, and its// pathcomments name them relative tosource/extensions/itemfits-fit-check/: for example// ../itemfits-fit-check-src/components/SpaceForm.tsxissource/extensions/itemfits-fit-check-src/components/SpaceForm.tsx, and// ../../packages/space-pickers/src/StairPicker.tsxissource/packages/space-pickers/src/StairPicker.tsx. Short names such asuorkin the bundle are Preact’s own exports, as Preact publishes them (node_modules/preact/**/dist/). - The WordPress storefront host,
assets/js/host.js, written in TypeScript (source/wordpress/host-src/) and built bysource/wordpress/build.mjs.
Both builds compile the source without its code comments, and source/ holds that same comment-free text, so it is exactly what was compiled.
To rebuild them (Node.js 20 or later), in source/:
npm install
npm run build
npm run build:host
npm run verify
npm install installs the exact tool and library versions the release was built with (listed in `source/package.json` and `source/README.md`). `npm run verify` compares the rebuilt files with `source/SOURCE-MANIFEST.json` (a SHA-256 per file), which holds the hashes of the files shipped in `assets/widget/` and `assets/js/host.js`; they are identical. Everything in `source/` is licensed under the GPL, version 2 or later; third-party parts are listed in `source/THIRD-PARTY-NOTICES.txt`.<h3>Credits</h3>
The widget includes:
- Preact 10.29.0 (https://preactjs.com, source: https://github.com/preactjs/preact), MIT License.
- uqr 0.1.3, QR code generator (https://github.com/unjs/uqr), MIT License.
- The Outfit typeface (https://github.com/google/fonts/tree/main/ofl/outfit), SIL Open Font License 1.1, subset for the Product Fit button.
It is built with esbuild 0.21.5 (https://esbuild.github.io, MIT License), using TypeScript 5.9.3 (https://www.typescriptlang.org, Apache License 2.0) to read the source.
Screenshots
No screenshots provided

