{"id":382222,"date":"2026-10-12T12:11:49","date_gmt":"2026-10-12T12:11:49","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/devicechecker-for-woocommerce\/"},"modified":"2026-10-12T12:11:16","modified_gmt":"2026-10-12T12:11:16","slug":"devicechecker-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/bal.wordpress.org\/plugins\/devicechecker-for-woocommerce\/","author":23509776,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1.3","requires":"6.5","requires_php":"7.4","requires_plugins":null,"header_name":"DeviceChecker for WooCommerce","header_author":"DeviceChecker","header_description":"Adds a Mobile \/ Tablet \/ Desktop icon to every WooCommerce order, user, and dashboard widget. Two device breakdown reports, dashboard summary widget, HPOS-compatible. Zero setup, no external services, no fingerprinting.","assets_banners_color":"f8f8fc","last_updated":"2026-10-12 12:11:16","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/devicechecker-for-woocommerce\/","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":19,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"reztart","date":"2026-10-12 12:11:16","revision":3741441}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3741441,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3741441,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3741441,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3741441,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3741441,"resolution":"1","location":"assets","locale":"","width":1200,"height":900},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3741441,"resolution":"2","location":"assets","locale":"","width":1200,"height":900},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3741441,"resolution":"3","location":"assets","locale":"","width":1200,"height":900}},"screenshots":{"1":"WooCommerce Orders list with sortable Device column","2":"WP Users list with Device column populated","3":"Dashboard summary widget showing Mobile \/ Tablet \/ Desktop split","4":"Order Device Report \u2014 date range \u00d7 device breakdown","5":"Customer Device Report \u2014 signups by device over time","6":"Settings tab under WooCommerce \u2192 Settings \u2192 DeviceChecker"}},"plugin_section":[262246],"plugin_tags":[1123,841,234974,3654,286],"plugin_category":[45],"plugin_contributors":[266406],"plugin_business_model":[],"class_list":["post-382222","plugin","type-plugin","status-publish","hentry","plugin_section-dashboard-widgets","plugin_tags-device","plugin_tags-mobile","plugin_tags-order-attribution","plugin_tags-reports","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-reztart","plugin_committers-reztart"],"banners":{"banner":"https:\/\/ps.w.org\/devicechecker-for-woocommerce\/assets\/banner-772x250.png?rev=3741441","banner_2x":"https:\/\/ps.w.org\/devicechecker-for-woocommerce\/assets\/banner-1544x500.png?rev=3741441","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/devicechecker-for-woocommerce\/assets\/icon-128x128.png?rev=3741441","icon_2x":"https:\/\/ps.w.org\/devicechecker-for-woocommerce\/assets\/icon-256x256.png?rev=3741441","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/devicechecker-for-woocommerce\/assets\/screenshot-1.png?rev=3741441","caption":"WooCommerce Orders list with sortable Device column"},{"src":"https:\/\/ps.w.org\/devicechecker-for-woocommerce\/assets\/screenshot-2.png?rev=3741441","caption":"WP Users list with Device column populated"},{"src":"https:\/\/ps.w.org\/devicechecker-for-woocommerce\/assets\/screenshot-3.png?rev=3741441","caption":"Dashboard summary widget showing Mobile \/ Tablet \/ Desktop split"}],"raw_content":"<!--section=description-->\n<p>Your WordPress + WooCommerce admin currently shows you the customer's IP but no idea whether they ordered from a phone in a train station or a laptop at their desk. <strong>DeviceChecker<\/strong> fills that gap in every list you already look at \u2014 zero configuration, no external services, no fingerprinting.<\/p>\n\n<h4>What you get<\/h4>\n\n<ul>\n<li><strong>Orders list<\/strong> \u2014 sortable Device column (HPOS + legacy CPT), tooltip with browser + OS<\/li>\n<li><strong>Users list<\/strong> \u2014 sortable Device column, populated on registration<\/li>\n<li><strong>Dashboard widget<\/strong> \u2014 Mobile \/ Tablet \/ Desktop split for Orders and registered Customers<\/li>\n<li><strong>WooCommerce \u2192 Reports<\/strong> \u2014 two new device breakdown reports (Orders and Customers) with date-range grouping (day \/ week \/ month \/ year)<\/li>\n<\/ul>\n\n<h4>How detection works<\/h4>\n\n<p>Prioritized:<\/p>\n\n<ol>\n<li><code>Sec-CH-UA-Mobile<\/code> client hint (strongest signal from Chromium browsers)<\/li>\n<li>Optional <code>Mobile_Detect<\/code> library, if vendored into <code>includes\/<\/code><\/li>\n<li>Curated built-in regex covering ~99% of real-world traffic<\/li>\n<li>Tablet cross-check: iPad \/ Android tablet \/ Kindle Fire \/ Windows tablet<\/li>\n<\/ol>\n\n<p>Browser + OS extracted for tooltips (Chrome 120, iOS 17, etc.). Fully User-Agent-based \u2014 no cookies, no fingerprinting, no third-party calls.<\/p>\n\n<h4>HPOS compatibility<\/h4>\n\n<p>Fully compatible with WooCommerce's High-Performance Order Storage. Uses the <code>WC_Order<\/code> abstraction throughout \u2014 no direct <code>wp_posts<\/code> queries. Column hooks registered for both the legacy CPT screen and the new HPOS orders screen.<\/p>\n\n<h4>What it does NOT do<\/h4>\n\n<ul>\n<li>Does not track individual users across sessions (no fingerprinting)<\/li>\n<li>Does not send any data outside your store \u2014 no external API, no analytics beacon<\/li>\n<li>Does not backfill device info for users that registered before install; orders always work retroactively via WooCommerce's native <code>_customer_user_agent<\/code> meta<\/li>\n<li>Does not classify bots as a separate category (they render as Desktop with an empty browser tooltip)<\/li>\n<\/ul>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>WordPress 6.5+ (uses the Requires Plugins header)<\/li>\n<li>WooCommerce 8.0+ (both HPOS and legacy CPT storage supported)<\/li>\n<li>PHP 7.4+ (tested up to 8.3)<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Plugins \u2192 Add New \u2192 Upload Plugin \u2192 choose <code>devicechecker-for-woocommerce.zip<\/code> \u2192 Install \u2192 Activate<\/li>\n<li>Configure at WooCommerce \u2192 Settings \u2192 DeviceChecker tab (all sections enabled by default)<\/li>\n<li>Look for the Device column in WooCommerce \u2192 Orders and Users \u2192 All Users<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20slow%20down%20my%20admin%3F\"><h3>Does this slow down my admin?<\/h3><\/dt>\n<dd><p>No. Each list column uses the User-Agent already stored by WooCommerce; detection is pure PHP regex without external calls. The dashboard widget queries at most 500 recent orders.<\/p><\/dd>\n<dt id=\"does%20this%20work%20with%20headless%20%2F%20decoupled%20setups%3F\"><h3>Does this work with headless \/ decoupled setups?<\/h3><\/dt>\n<dd><p>If your storefront places orders via REST or Store API and sends a real User-Agent, yes. If your headless client suppresses the UA header, those rows will show as \"Unknown\".<\/p><\/dd>\n<dt id=\"is%20this%20gdpr%20compliant%3F\"><h3>Is this GDPR compliant?<\/h3><\/dt>\n<dd><p>Yes. Stores the User-Agent (not PII on its own) alongside the user_id or IP that WooCommerce already stores. No fingerprinting, no cookies, no external services.<\/p><\/dd>\n<dt id=\"what%20happens%20on%20uninstall%3F\"><h3>What happens on uninstall?<\/h3><\/dt>\n<dd><p>Deactivating leaves everything. Deleting removes plugin options; the companion table is <strong>preserved by default<\/strong>. Define <code>DEVICE_DETECTOR_HARD_UNINSTALL<\/code> as true in wp-config.php before deletion to drop the table too.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Orders list Device column (HPOS + legacy CPT)<\/li>\n<li>Users list Device column with sort support<\/li>\n<li>Dashboard summary widget<\/li>\n<li>Order Device Report + Customer Device Report under WC \u2192 Reports<\/li>\n<li>Settings tab under WC \u2192 Settings \u2192 DeviceChecker<\/li>\n<\/ul>","raw_excerpt":"Device breakdown (Mobile \/ Tablet \/ Desktop) for WooCommerce orders and customers. Dashboard widget plus two reports. HPOS-compatible.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/382222","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=382222"}],"author":[{"embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/reztart"}],"wp:attachment":[{"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=382222"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=382222"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=382222"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=382222"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=382222"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=382222"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}