{"id":362898,"date":"2026-09-07T15:40:48","date_gmt":"2026-09-07T15:40:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/profit-lens-profit-analytics-for-woocommerce\/"},"modified":"2026-09-07T15:40:14","modified_gmt":"2026-09-07T15:40:14","slug":"profit-lens","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/profit-lens\/","author":23559315,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1","requires":"6.4","requires_php":"7.4","requires_plugins":null,"header_name":"Profit Lens \u2014 Profit Analytics for WooCommerce","header_author":"Arc7","header_description":"Shows the real profit of your WooCommerce store \u2014 not just","assets_banners_color":"1a211d","last_updated":"2026-09-07 15:40:14","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/arc7.dev\/profit-lens","header_author_uri":"https:\/\/arc7.dev","rating":0,"author_block_rating":0,"active_installs":0,"downloads":35,"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":"arc7dev","date":"2026-09-07 15:40:14","revision":3685216}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3685214,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3685214,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3685214,"resolution":"1","location":"assets","locale":"","width":1280,"height":829},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3685214,"resolution":"2","location":"assets","locale":"","width":1280,"height":854}},"screenshots":{"1":"Dashboard \u2014 net profit, cost breakdown, and profit by product."}},"plugin_section":[],"plugin_tags":[232,233971,434,6882,286],"plugin_category":[36,45],"plugin_contributors":[279596],"plugin_business_model":[],"class_list":["post-362898","plugin","type-plugin","status-publish","hentry","plugin_tags-analytics","plugin_tags-cogs","plugin_tags-dashboard","plugin_tags-profit","plugin_tags-woocommerce","plugin_category-analytics","plugin_category-ecommerce","plugin_contributors-arc7dev","plugin_committers-arc7dev"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/profit-lens\/assets\/icon-256x256.png?rev=3685214","icon_2x":"https:\/\/ps.w.org\/profit-lens\/assets\/icon-256x256.png?rev=3685214","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/profit-lens\/assets\/screenshot-1.png?rev=3685214","caption":"Dashboard \u2014 net profit, cost breakdown, and profit by product."},{"src":"https:\/\/ps.w.org\/profit-lens\/assets\/screenshot-2.png?rev=3685214","caption":""}],"raw_content":"<!--section=description-->\n<p>WooCommerce shows you revenue. Profit Lens shows you what's left after the\nreal costs: product cost, payment gateway fees, shipping, and refunds.<\/p>\n\n<h4>What Profit Lens does (free, self-hosted, no external account)<\/h4>\n\n<ul>\n<li>Net profit and net margin for any date range, calculated from the Cost of\nGoods field already built into WooCommerce (10.3+).<\/li>\n<li>Per-order and per-product profit breakdown.<\/li>\n<li>Cost breakdown: product cost, gateway fees, shipping, refunds.<\/li>\n<li>Cost coverage: how much of your revenue is backed by a known product\ncost, so you know how much to trust the profit number.<\/li>\n<li>Everything is calculated on your server. Nothing about your store or\nyour orders is sent anywhere.<\/li>\n<\/ul>\n\n<h4>What's in Profit Lens Pro<\/h4>\n\n<p>Profit after ad spend and ROAS by campaign, once you connect a Meta Ads or\nGoogle Ads account \u2014 available at <a href=\"https:\/\/arc7.dev\">arc7.dev<\/a>. The free\nplugin in this repository is fully functional on its own; Pro adds\nanalytics that depend on an external ad account, not features held back\nfrom the free version.<\/p>\n\n<h3>Source Code<\/h3>\n\n<p>The complete source code, including all JavaScript source files, is\npublicly available on GitHub:<\/p>\n\n<p>https:\/\/github.com\/arc7dev\/profit-lens<\/p>\n\n<p>To build from source:<\/p>\n\n<ol>\n<li>Clone the repository.<\/li>\n<li>Run <code>npm install<\/code>.<\/li>\n<li>Run <code>npm run build<\/code>.<\/li>\n<\/ol>\n\n<p>The <code>src\/<\/code> directory contains all unminified JavaScript and React source\nfiles. The <code>build\/<\/code> directory contains the compiled assets included in\nthe plugin.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to <code>\/wp-content\/plugins\/profit-lens<\/code>, or install\nthrough the WordPress plugins screen directly.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Make sure WooCommerce is active and your products have a cost set\n(Product data \u2192 General \u2192 Cost of goods, WooCommerce 10.3+).<\/li>\n<li>Go to WooCommerce \u2192 Profit Lens.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20send%20my%20store%20data%20anywhere%3F\"><h3>Does this send my store data anywhere?<\/h3><\/dt>\n<dd><p>No. All calculation happens on your own server, using WooCommerce's REST\nAPI and database. Profit Lens Free makes no external requests \u2014 including\nfor fonts, which are bundled with the plugin instead of loaded from Google\nFonts.<\/p><\/dd>\n<dt id=\"do%20i%20need%20meta%20ads%20or%20google%20ads%20to%20use%20this%3F\"><h3>Do I need Meta Ads or Google Ads to use this?<\/h3><\/dt>\n<dd><p>No. Everything in the free plugin works from data WooCommerce already has.\nConnecting an ad account is only needed for the Pro features (profit after\nad spend, ROAS by campaign).<\/p><\/dd>\n<dt id=\"what%20if%20some%20of%20my%20products%20don%27t%20have%20a%20cost%20set%3F\"><h3>What if some of my products don't have a cost set?<\/h3><\/dt>\n<dd><p>Profit Lens still shows you profit for the products that do, and tells you\nwhat share of your revenue is covered by a known cost \u2014 so you can see at\na glance how much to trust the number instead of assuming it's complete.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First stable release for WordPress.org.<\/li>\n<li>Fix: custom date range picker no longer bleeds WP admin's blue into the calendar and the Apply button hover state \u2014 both now use the plugin's own mint accent.<\/li>\n<li>Fix: custom date ranges over ~180 days no longer fail silently \u2014 aggregate() now processes orders in batches instead of loading the whole range in one query, which was exhausting PHP's memory limit.<\/li>\n<li>Add: Export CSV button on the profit-by-product table.<\/li>\n<li>Add: upgrade prompt for the Pro ad-spend features (profit after ad spend, ROAS by campaign) when connecting Meta Ads or Google Ads.<\/li>\n<li>Fix: 3 CSS specificity\/theme-color bugs found in a full-dashboard QA pass (profit\/loss color coding not rendering, Upgrade to Pro button hover, product search focus outline).<\/li>\n<li>Cleanup: full WordPress Coding Standards (PHPCS) compliance ahead of release.<\/li>\n<\/ul>\n\n<h4>0.2.1<\/h4>\n\n<ul>\n<li>Fix: rebuild compiled bundle to include snapshot cost disclosure UI (was missing from 0.2.0 build).<\/li>\n<li>Add PROFITLENS_DEV constant as second gate for dev tools \u2014 WP_DEBUG alone is not a reliable proxy for plugin development mode.<\/li>\n<li>Add .distignore to exclude dev\/build files from WordPress.org package.<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Real profit calculation engine: net profit\/margin from WooCommerce COGS,\ngateway fees, shipping, and refunds.<\/li>\n<li>REST endpoint (GET \/profit-lens\/v1\/summary) wired to the engine.<\/li>\n<li>Dashboard: KPIs, profit chart, cost breakdown, profit-by-product table,\ncustom date range.<\/li>\n<li>Per-order-line cost snapshot \u2014 editing a product's cost no longer\nrewrites past periods' profit retroactively.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial scaffolding: admin page, REST endpoint contract, and dashboard UI\nwired to example data. No profit calculation yet.<\/li>\n<\/ul>","raw_excerpt":"See your store&#039;s real profit, not just sales \u2014 right inside WooCommerce.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/362898","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=362898"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/arc7dev"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=362898"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=362898"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=362898"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=362898"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=362898"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=362898"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}