{"id":388667,"date":"2026-10-19T13:32:51","date_gmt":"2026-10-19T13:32:51","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/marginbeacon\/"},"modified":"2026-10-24T16:21:22","modified_gmt":"2026-10-24T16:21:22","slug":"marginbeacon","status":"publish","type":"plugin","link":"https:\/\/co.wordpress.org\/plugins\/marginbeacon\/","author":23588156,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1.4","requires":"6.4","requires_php":"7.4","requires_plugins":null,"header_name":"MarginBeacon","header_author":"Kayvandra","header_description":"Simulate native WooCommerce promotions before launch. Flag margin-risk orders after purchase.","assets_banners_color":"9ebcb9","last_updated":"2026-10-24 16:21:22","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/kayvandra.com\/products\/marginbeacon","header_author_uri":"https:\/\/kayvandra.com\/","rating":5,"author_block_rating":0,"active_installs":0,"downloads":129,"num_ratings":2,"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":"pluginkayvandra","date":"2026-10-24 16:21:22","revision":3763516}},"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":2},"assets_icons":{"icon-128x128.gif":{"filename":"icon-128x128.gif","revision":3755115,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.gif":{"filename":"icon-256x256.gif","revision":3755115,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":3763516,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3763516,"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":3763516,"resolution":"1","location":"assets","locale":"","width":1200,"height":900},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3763516,"resolution":"2","location":"assets","locale":"","width":1200,"height":900},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3763516,"resolution":"3","location":"assets","locale":"","width":1200,"height":900},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3763516,"resolution":"4","location":"assets","locale":"","width":1200,"height":900},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3763516,"resolution":"5","location":"assets","locale":"","width":1200,"height":900}},"screenshots":{"1":"Dashboard recommended action for promotion-related order risk.","2":"MarginBeacon Cost on a WooCommerce product.","3":"Free selected-coupon Preflight with its single-line, quantity-1 scope.","4":"Promo Risk badges in the WooCommerce Orders table.","5":"Order-level Promo Risk details with signal, financial evidence, and reason."}},"plugin_section":[],"plugin_tags":[132181,288276,288277,288275,286],"plugin_category":[45],"plugin_contributors":[287518],"plugin_business_model":[],"class_list":["post-388667","plugin","type-plugin","status-publish","hentry","plugin_tags-cost-of-goods","plugin_tags-coupon-risk","plugin_tags-discount-analysis","plugin_tags-product-margin","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-pluginkayvandra","plugin_committers-pluginkayvandra"],"banners":{"banner":"https:\/\/ps.w.org\/marginbeacon\/assets\/banner-772x250.jpg?rev=3763516","banner_2x":"https:\/\/ps.w.org\/marginbeacon\/assets\/banner-1544x500.jpg?rev=3763516","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/marginbeacon\/assets\/icon-128x128.gif?rev=3755115","icon_2x":"https:\/\/ps.w.org\/marginbeacon\/assets\/icon-256x256.gif?rev=3755115","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/marginbeacon\/assets\/screenshot-1.png?rev=3763516","caption":"Dashboard recommended action for promotion-related order risk."},{"src":"https:\/\/ps.w.org\/marginbeacon\/assets\/screenshot-2.png?rev=3763516","caption":"MarginBeacon Cost on a WooCommerce product."},{"src":"https:\/\/ps.w.org\/marginbeacon\/assets\/screenshot-3.png?rev=3763516","caption":"Free selected-coupon Preflight with its single-line, quantity-1 scope."},{"src":"https:\/\/ps.w.org\/marginbeacon\/assets\/screenshot-4.png?rev=3763516","caption":"Promo Risk badges in the WooCommerce Orders table."},{"src":"https:\/\/ps.w.org\/marginbeacon\/assets\/screenshot-5.png?rev=3763516","caption":"Order-level Promo Risk details with signal, financial evidence, and reason."}],"raw_content":"<!--section=description-->\n<p>Discounts can increase sales while leaving too little revenue to cover product cost. MarginBeacon helps WooCommerce merchants evaluate gross product margin risk for a selected native coupon against current regular or active sale prices, then review risk on supported promotional orders.<\/p>\n\n<p>Set up product costs, run a preflight for a selected native WooCommerce coupon, and review clear severity levels with reasons. MarginBeacon is watch-only: it reports risk without creating discounts, changing coupons, modifying checkout, or editing original order data.<\/p>\n\n<h4>Key Features in MarginBeacon Free<\/h4>\n\n<ul>\n<li><strong>Product cost setup and coverage:<\/strong> Use WooCommerce native Cost of Goods Sold (COGS) when available, or MarginBeacon Cost, with an optional global assumed-cost fallback. Coverage is sampled from supported catalog items, not a full-catalog guarantee.<\/li>\n<li><strong>Selected-coupon preflight:<\/strong> Evaluate one native WooCommerce percentage, fixed-product, or fixed-cart coupon at a time against a bounded set of eligible products.<\/li>\n<li><strong>Sale-price awareness:<\/strong> Use a product's current regular or active sale price as the selected-coupon price basis. There is no standalone sale-price preflight. Supported sale-price evidence can also appear on promotional orders.<\/li>\n<li><strong>Explainable risk classifications:<\/strong> Review severity, reason, affected product, cost source, and suggested remediation instead of a pass\/fail result alone.<\/li>\n<li><strong>Safe handling of incomplete evidence:<\/strong> Missing, stale, unsupported, or indeterminate data is reported as Unknown, never silently treated as Safe.<\/li>\n<li><strong>Promotion-related order monitoring:<\/strong> See Promo Risk badges in WooCommerce Orders and open order-level risk details. Unpaid orders may first receive a preliminary result and be evaluated again after payment.<\/li>\n<li><strong>Recent Orders Preview:<\/strong> Optionally evaluate up to 30 days or the latest 100 qualifying orders, whichever limit is reached first, to establish useful initial coverage.<\/li>\n<li><strong>Global thresholds and basic health tools:<\/strong> Configure one store-wide threshold profile and review operational status and recovery guidance.<\/li>\n<\/ul>\n\n<h4>How It Works<\/h4>\n\n<ol>\n<li><strong>Set up product costs.<\/strong> Open WooCommerce &gt; MarginBeacon &gt; Cost Setup, choose the active cost source, and review cost coverage.<\/li>\n<li><strong>Evaluate a supported promotion.<\/strong> Open Preflight, select one published native WooCommerce coupon, and run the evaluation.<\/li>\n<li><strong>Review risk.<\/strong> Read preflight findings, then use Findings \/ Order Risks and Promo Risk badges in WooCommerce Orders to review supported promotional orders.<\/li>\n<\/ol>\n\n<h4>Free and Pro<\/h4>\n\n<p>MarginBeacon Free provides the merchant baseline: cost setup and coverage, unlimited manual selected-coupon preflights, one global threshold profile, promotion-related order risk, bounded Recent Orders Preview, and basic health tools.<\/p>\n\n<p>For fixed-cart coupons, Free evaluates deterministic single-line scenarios at quantity 1 for each eligible target. It does not build a representative multi-line basket.<\/p>\n\n<p>The optional MarginBeacon Pro companion adds deeper operational coverage, including full, scheduled, and targeted scans; representative multi-line fixed-cart baskets; category-level controls; advanced evidence, filtering, exports, and diagnostics; baseline-order monitoring; advanced recalculation controls; and merchant-facing Price History. Free functionality remains available without Pro.<\/p>\n\n<h4>Safety and Scope<\/h4>\n\n<ul>\n<li>MarginBeacon never changes storefront prices, coupons, cart totals, checkout behavior, or original order data.<\/li>\n<li>Checkout remains non-blocking. Version 1.0 is watch-only and does not enforce or block discounts.<\/li>\n<li>Coupon inventory covers native WooCommerce coupons. Third-party promotion engines are not claimed as complete or supported inventory.<\/li>\n<li>No promotion signal, unavailable Pro functionality, incomplete evidence, a processing failure, or stale data ever results in a Safe classification.<\/li>\n<li>MarginBeacon estimates gross product profit and gross product margin. It does not calculate net profit and is not financial or accounting advice.<\/li>\n<\/ul>\n\n<h4>Requirements<\/h4>\n\n<p>MarginBeacon requires:<\/p>\n\n<ul>\n<li>WordPress 6.4 or later<\/li>\n<li>PHP 7.4 or later<\/li>\n<li>WooCommerce 8.0 or later<\/li>\n<li>PHP BCMath extension<\/li>\n<\/ul>\n\n<p>The PHP BCMath extension is required for exact money calculations. If BCMath is unavailable, MarginBeacon will remain inactive and display an administrator notice instead of running financial calculations with reduced precision.<\/p>\n\n<p>Read the <a href=\"https:\/\/kayvandra.com\/products\/marginbeacon\/docs\">MarginBeacon documentation<\/a> or ask a question in the <a href=\"https:\/\/wordpress.org\/support\/plugin\/marginbeacon\/\">WordPress.org support forum<\/a>.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate WooCommerce.<\/li>\n<li>Confirm that the site meets the WordPress, WooCommerce, and PHP versions listed above, and ask your host to enable PHP BCMath if needed.<\/li>\n<li>In WordPress, open Plugins &gt; Add Plugin, search for \"MarginBeacon\", and select Install Now. You can also upload the MarginBeacon ZIP from Plugins &gt; Add Plugin &gt; Upload Plugin.<\/li>\n<li>Activate MarginBeacon from the Plugins screen.<\/li>\n<li>Open WooCommerce &gt; MarginBeacon &gt; Cost Setup. Choose WooCommerce COGS or MarginBeacon Cost as the active source, then add costs and review coverage.<\/li>\n<li>Open Settings to review the global margin thresholds.<\/li>\n<li>Open Preflight, select one published native WooCommerce coupon, and run your first evaluation.<\/li>\n<li>Review the result in Preflight and Findings \/ Order Risks. Promo Risk badges also appear for supported promotional orders in WooCommerce Orders.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20marginbeacon%20block%20checkout%3F\"><h3>Does MarginBeacon block checkout?<\/h3><\/dt>\n<dd><p>No. MarginBeacon is watch-only. It does not create, edit, apply, disable, or enforce coupons, and it does not change cart totals or block checkout.<\/p><\/dd>\n<dt id=\"why%20do%20i%20see%20unknown%3F\"><h3>Why do I see Unknown?<\/h3><\/dt>\n<dd><p>Unknown means MarginBeacon does not have enough reliable evidence to classify the result as Safe, Warning, High, or Critical. Common causes include missing cost, incomplete currency or totals data, uncertain sale-price provenance, stale evidence, unsupported scenarios, or processing problems. Incomplete evidence is never labelled Safe.<\/p><\/dd>\n<dt id=\"how%20does%20cost%20%2F%20cogs%20work%3F\"><h3>How does Cost \/ COGS work?<\/h3><\/dt>\n<dd><p>One canonical cost source is active at a time: WooCommerce native COGS when available, or MarginBeacon Cost. You can also enable an optional global assumed-cost fallback. Missing cost is never treated as zero. Migration to WooCommerce COGS copies only empty WooCommerce cost fields and switches only after a verified catalog pass.<\/p><\/dd>\n<dt id=\"what%20does%20marginbeacon%20actually%20do%3F\"><h3>What does MarginBeacon actually do?<\/h3><\/dt>\n<dd><p>It estimates gross product margin risk for supported WooCommerce promotion scenarios. You can preflight a selected native coupon before launch and review risk evidence on supported promotional orders, including preliminary results before payment is confirmed.<\/p><\/dd>\n<dt id=\"can%20i%20use%20marginbeacon%20for%20free%3F\"><h3>Can I use MarginBeacon for free?<\/h3><\/dt>\n<dd><p>Yes. MarginBeacon Free includes cost setup and coverage, manual selected-coupon preflight, promotion-related order risk, a bounded Recent Orders Preview, global thresholds, and basic health tools. Pro is an optional companion for deeper automation and analysis.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20product%20cost%20data%20is%20missing%3F\"><h3>What happens when product cost data is missing?<\/h3><\/dt>\n<dd><p>Missing cost is never treated as zero. Depending on the available evidence and configured fallback, the result remains Unknown rather than being labelled Safe.<\/p><\/dd>\n<dt id=\"why%20is%20a%20stored%20cost%20of%200%20different%20from%20a%20missing%20cost%3F\"><h3>Why is a stored cost of 0 different from a missing cost?<\/h3><\/dt>\n<dd><p>An explicit stored cost of 0 is a real merchant-entered value, for example a free sample. A missing cost means no reliable cost evidence exists. Only the missing case stays Unknown. A proven zero cost can produce a 100% gross product margin when revenue is positive.<\/p><\/dd>\n<dt id=\"can%20it%20calculate%20net%20profit%3F\"><h3>Can it calculate net profit?<\/h3><\/dt>\n<dd><p>No. MarginBeacon calculates gross product profit and gross product margin estimates. It is not a net-profit, cash-flow, tax, fulfillment-cost, or accounting system.<\/p><\/dd>\n<dt id=\"which%20discount%20scenarios%20are%20supported%3F\"><h3>Which discount scenarios are supported?<\/h3><\/dt>\n<dd><p>Free manually evaluates one selected native WooCommerce percentage, fixed-product, or fixed-cart coupon at a time against a bounded set of eligible products at quantity 1. Fixed-cart coverage is single-line, not a representative multi-line basket. There is no standalone sale-price preflight. An active sale price is used only as the current price basis for that selected coupon. Supported order evaluation can use verified native coupon and sale-price evidence. Unsupported or ambiguous promotion mechanisms are not presented as Safe.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20variable%20products%3F\"><h3>Does it work with variable products?<\/h3><\/dt>\n<dd><p>Yes, supported preflight scenarios evaluate purchasable variations individually. Each relevant variation still needs resolvable cost and price evidence. External or affiliate products, bundles, composites, add-ons, and subscription renewals are not claimed as supported without a specific integration.<\/p><\/dd>\n<dt id=\"what%20does%20recent%20orders%20preview%20cover%3F\"><h3>What does Recent Orders Preview cover?<\/h3><\/dt>\n<dd><p>It is an optional first-look at recent promotional orders so Promo Risk is not empty after install. It evaluates up to 30 days or the latest 100 qualifying promoted orders, whichever limit is reached first. It is not a full historical backfill of every past order.<\/p><\/dd>\n<dt id=\"why%20is%20a%20free-shipping%20coupon%20not%20simply%20safe%3F\"><h3>Why is a free-shipping coupon not simply Safe?<\/h3><\/dt>\n<dd><p>A free-shipping coupon does not reduce merchandise revenue, so product-margin math can look Safe while shipping cost is still unmeasured. MarginBeacon may label that as product margin Safe with shipping cost excluded. That result is not a claim that the whole promotion is safe.<\/p><\/dd>\n<dt id=\"why%20is%20a%20subscription%20renewal%20unsupported%3F\"><h3>Why is a subscription renewal Unsupported?<\/h3><\/dt>\n<dd><p>Recurring renewals use pricing and eligibility rules outside the current WooCommerce native coupon and sale-price contract. MarginBeacon marks those orders Unsupported instead of guessing a Safe or at-risk result.<\/p><\/dd>\n<dt id=\"what%20is%20the%20difference%20between%20free%20and%20pro%3F\"><h3>What is the difference between Free and Pro?<\/h3><\/dt>\n<dd><p>Free provides manual preflight and core promotion-risk monitoring. Pro adds automated and targeted scans, representative multi-line fixed-cart baskets, category-level controls, advanced evidence and reporting, baseline-order monitoring, advanced recalculation, and Price History.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First public release of MarginBeacon Free.<\/li>\n<li>Product cost setup with MarginBeacon Cost or WooCommerce native COGS, including admin list\/edit fallbacks when the native COGS UI is unavailable.<\/li>\n<li>Selected native-coupon preflight for campaign margin risk before launch.<\/li>\n<li>Asynchronous Promo Risk badges on orders, with preliminary evaluation before payment confirmation and confirmed evaluation after payment.<\/li>\n<li>Global margin thresholds, freshness tracking, acknowledgement, and operational health tools.<\/li>\n<li>Hardened admin notice scoping and explicit native WooCommerce nonce validation for product and bulk COGS edits.<\/li>\n<\/ul>","raw_excerpt":"Evaluate WooCommerce coupon margin risk before launch and review supported promotional orders.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/co.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/388667","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/co.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/co.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/co.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=388667"}],"author":[{"embeddable":true,"href":"https:\/\/co.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/pluginkayvandra"}],"wp:attachment":[{"href":"https:\/\/co.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=388667"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/co.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=388667"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/co.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=388667"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/co.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=388667"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/co.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=388667"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/co.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=388667"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}