Try → Edge cases

Edge cases and error states.

Validation in the conditions editor, what non-qualifying customers see at checkout, and the duplicate-condition guard. These states are as load-bearing as the happy path.

Validation

Empty domain value

Domain value is required. Enter a domain like @sony.com or sony.com.

Save is blocked until the value is filled in. The error is shown inline on the affected field, not as a top-of-page banner. Save button is disabled.

Validation

Malformed domain — no dot

sony doesn't look like a domain. Did you mean @sony.com? Save anyway, or fix the value.

A soft warning (not a hard block) for values that look malformed. The merchant can save anyway — some domains don't have dots (intranets, test environments). The auto-fix suggestion reduces friction for the common case.

Validation

Duplicate email domain condition

Duplicate condition — this row has the same type, operator, and value as row 1. The second row will have no effect and can be removed.

Duplicate conditions are flagged as a warning (not a block). Duplicates are harmless — the AND evaluation is idempotent — but they confuse merchants reviewing the promotion later. Inline warning, not a save block.

Storefront

Non-qualifying customer at checkout

Order summary

Sony WH-1000XM5 Headphones $349.99
Subtotal $349.99
Shipping $0.00
Total $349.99

Signed in as alex@gmail.com

Design decision: silent failure

The customer (alex@gmail.com) does not see the Sony Employee Discount in their order summary. The condition fails silently — no "you don't qualify" message, no hint that a domain-gated discount exists. This is the correct behaviour: surfacing the discount name to non-qualifying customers reveals the promotion's existence and invites social engineering.

Contrast with coupon code failure (explicit "invalid code" message) — that's expected because the customer actively entered a code. Automatic promotions fail silently by design.

Storefront — Phase 2

Guest checkout with qualifying email

Order summary

Sony WH-1000XM5 Headphones $349.99
Subtotal $349.99
Sony Employee Discount (15%) −$52.50
Shipping $0.00
Total $297.49

Checking out as guest · Billing email: sarah@sony.com

Phase 2 differentiator

A guest customer who hasn't created an account enters sarah@sony.com at the customer-information step. The email domain condition evaluates cart.email — already in the checkout record by the time promotions evaluate — and applies the discount automatically. No account required. Shopify's native email domain targeting requires sign-in; this case is excluded on Shopify.