Why Pre-Publish Review Matters
Promotions that go live without margin checks, stacking controls, or abuse prevention can cost more than they generate. Common examples:
- A 30% category discount applied to products that have 20% margin — selling below cost
- A BOGO promotion on a product with thin margin where the reward unit cost exceeds the qualifying purchase margin
- Two simultaneous promotions that stack to produce 35% effective discount on the same products
- A cart discount with no customer restriction that gets exploited by bulk buyers who were going to hit the threshold anyway
Most of these problems are discoverable before launch with the right checks. The Offer Safety Score provides those checks automatically, for every promotion, in the promotion editor.
The Six Categories
Margin Safety — 35 Points
The largest category. Uses the stored gross margin percentage on your targeted products (from the _ezhance_gross_margin meta field) to calculate a price-weighted average margin across all targeted products. A high-price product with thin margin and a low-price product with healthy margin are weighted appropriately.
Products without stored margin data contribute 0 points to the margin safety score. This is intentional — unknown margin means unknown risk.
To improve this score: store gross margin percentages on your products. In WooCommerce product editor, find the Ezhance margin field and enter the gross margin percentage. Even rough estimates improve the score significantly.
Stacking Protection — 20 Points
Evaluates your Discount Strategy settings to determine how multiple simultaneous promotions interact. A strategy set to "all-stack" (all matching promotions compound) scores 0 points here. A strategy set to "first-matched" or "highest-discount" scores higher.
To improve this score: configure your Discount Strategy settings in Ezhance → Settings → Discount Strategy. Use "highest-discount" or "first-matched" rather than "all-stack" for general campaigns.
Purchase Threshold — 15 Points
Checks whether the promotion has a minimum quantity or value signal that reduces the risk of unconstrained discounting. A promotion with no quantity or cart value condition applies to any purchase, regardless of size — which means you're potentially discounting single-unit, low-value purchases that don't move your business metrics.
To improve this score: add a minimum cart subtotal condition, a minimum quantity condition, or configure the promotion as a bulk pricing tier (which inherently has a quantity threshold).
Abuse Control — 10 Points
Rewards promotion configurations that limit who can qualify. A promotion open to every customer, including bulk buyers and existing repeat customers who would have purchased anyway, provides no incentive signal — it just reduces margin. Customer targeting conditions restrict eligibility to segments where the promotion creates genuine behavioural change.
To improve this score: add customer targeting conditions — customer role, first-order status, email, or purchase history. Even a simple "new customers only" condition significantly improves the Abuse Control score.
Offer Clarity — 10 Points
Checks that display settings are configured — promotion title, description, and at least one display component (Offer Card, Reward Card, Progress Bar). A promotion with no title or description provides no context to the customer about what the offer is or why it exists, which reduces uptake and the value-perception of the discount.
To improve this score: add a promotion title (short, customer-facing) and a brief description. Enable the relevant display component in Display Settings.
Data Confidence — 10 Points
Measures target specificity. A promotion targeting all products in all categories scores low — there's no data backing the assertion that these products have healthy margins or are appropriate for this promotion type. A promotion targeting specific products, variations, or a narrow category scores higher.
To improve this score: use specific product targeting rather than broad category targeting for new promotions. As you add margin data to products, the Margin Safety score improves — which reduces the importance of Data Confidence for repeat campaigns.
Interpreting Your Score
- 80–100 — well-structured promotion with most risk dimensions addressed. Safe to publish with normal monitoring.
- 60–79 — acceptable, but review the lowest-scoring categories before publishing. One or two easy improvements usually bring this to 80+.
- 40–59 — multiple unaddressed risk areas. Address at least the lowest-scoring category before publishing.
- Below 40 — significant risk in multiple dimensions. The promotion as configured carries substantial margin or abuse risk. Do not publish without addressing the main risk areas.
When to Override a Low Score
The score is a signal, not a veto. There are legitimate reasons to publish a promotion with a below-average score:
- You don't have product margin data stored yet — a low Margin Safety score in this case reflects missing data, not actual risk, if you've done the margin math manually.
- The promotion is intentionally broad (a site launch sale) and the wide targeting is deliberate, with margin checked manually.
- The promotion is a short-duration flash sale where abuse risk is limited by the time window.
In these cases, publish with awareness of the specific risk dimensions the score is flagging — and monitor analytics closely in the first 24–48 hours to catch any unintended margin impact. For deeper context on structuring safe promotions, see How to Create Profitable WooCommerce Promotions.