Set the discount once. Every surface reads it.
Connect your store, set the discount and its rules, place the offer card, and watch the numbers. The admin, the Shopify Function that prices the cart at checkout, and the storefront card all read the same record, so there is nothing to keep in sync and nothing to reconcile after the fact. Here is exactly how that plays out.
Three steps to a promotion you can prove
Connect your store, set the discount and the rules that gate it, place the offer card from the theme editor, and read the numbers that come back from signed orders.
01 / 3
Connect your store
Add xDiscount to your Shopify store in one click. Your real catalog is ready to target right away, and nothing changes on your storefront until you publish a discount. No technical setup.
02 / 3
Set the discount and its rules
Pick percentage off, fixed amount off, buy X get Y, or free shipping, choose the products it targets, then gate it on item quantity, cart value and variant stock, and give it a start date, an end date, or both, in your store's timezone. Priority decides which discount wins a line, and every discount starts as a draft you publish yourself.
03 / 3
Place the card and measure the result
Drop the native offer card onto your product page from the theme editor, then watch revenue, discounted orders, average order value and conversion rate in your dashboard, with product views, added to cart, checkouts started and checkouts seen under them. The price the card promises is the price checkout charges, because both read the same record.
What happens after you connect your store
-
Connect your store
xDiscount installs as a Shopify Partner app, built to Shopify data protection rules, with Protected Customer Data access for orders so it can measure what a promotion earned. There are no spreadsheets to upload and nothing to wire up by hand. Your catalog is there, ready to target, as soon as the install finishes.
-
Set the discount and its rules
Pick one of the four types, percentage off, fixed amount off, buy X get Y, or free shipping, then choose the products it targets. Gate it with item quantity, cart value and variant inventory, combined with AND and OR that fold strictly top to bottom, and set its dates in Discount period rather than as a condition. Give it a priority, and you know which discount wins on a line before a single shopper sees it.
-
Place the offer card
The storefront offer card is a theme block you position from the theme editor, no code involved. It renders the offer, the conditions, the schedule, and the gift picker for buy X get Y, in English or in French. It reads the same record the Shopify Function reads at checkout, so the price the card promises is the price the shopper is charged.
-
Watch the numbers
A consent aware web pixel measures shopper activity while the Shopify signed order webhook counts the money, which is why discounted orders is exact and the pixel figures are honestly labelled approximate. Four tiles carry revenue, discounted orders, average order value and conversion rate, with a chart of any one of them, a filter by discount type, and a day by day table underneath. Further down the roadmap, xDiscount connects to xBundle, our sibling product, so one engine prices the product and the other assembles the set.
One price, two surfaces
The card promises it. Checkout charges it.
On the product page
$48.00was $60.00 Save 20%
The offer card renders the deal straight from the record, before the shopper has committed to anything.
At checkout
$48.00
The Shopify Function prices the cart from that same record, so nothing moves between the page and the charge.
By the numbers
discount types, all shipped
rule conditions: item quantity, cart value, and inventory
active discounts free on the $0 plan
discounted orders a month included on the $0 plan
03 / The approach
Stop discounting on instinct. Price every promotion on purpose.
Discounts set by feel, rules that do not exist in Shopify's editor, a storefront that disagrees with checkout, and no way to say what a promotion actually earned. xDiscount ships the rules, makes both sides read the same record, and gives you the numbers afterwards.
The old way: discounting blind
- Picking a percentage by feel, with no bounds and no preview of what it hands away
- Rewriting the promotion you planned because the rules you need do not exist in the native editor
- Watching a product page promise one price while checkout quietly charges another
- Setting a start and end date that nothing actually enforces, then finding the sale still running in March
- Fighting theme code just to show an offer that is already live at checkout
- Closing a promotion with no idea whether it earned anything or just gave margin away
With xDiscount
- Four discount types and a rules engine that expresses the promotion you actually planned
- One record per discount, written by a validated action, read by both the offer card and checkout
- Schedules evaluated in your store's timezone, with inclusive bounds and a priority that decides every line
- A server-rendered offer card placed from the theme editor, in English and French, without touching code
- A native Shopify Function that prices cart lines and delivery, and fails closed rather than guessing
- Analytics from Shopify-signed orders, so what you report is what actually happened