Support & setup guide
Everything you need to install Discount Recovery, arm checkout recovery, and get value from the analytics - no theme edits, no developers required.
Before you start
- Any Shopify plan - tracking, analytics, timeline, popularity insights, and customer segments work everywhere.
- Shopify Plus - required only for checkout recovery offers, which use Shopify's checkout UI extensions.
- An active backup discount code - a real Shopify discount (for example
WELCOME-BACK) that the app can offer when a buyer's code fails. You can create this during setup.
The Home screen of the app shows a live setup checklist and tells you exactly which steps are done and which are outstanding. Readiness banners in Settings confirm when recovery is live.
Setting up Discount Recovery
-
Install the app and pick a plan
Install Discount Recovery from the Shopify App Store and pick a plan - every plan starts with a 7-day free trial, and plans from $48/month set your monthly rescue cap. Development and partner stores can evaluate without a subscription.
-
Confirm checkout tracking (web pixel)
The tracking pixel is typically installed automatically when the app is installed. Open Settings → Checkout tracking and confirm the status shows Installed. If it doesn't, use the install button on that screen.
The pixel watches discount codes buyers try at checkout and records invalid, expired, and mistyped attempts alongside cart value. Nothing is ever shown to buyers by tracking alone - from this point your Timeline and dashboard start populating.
-
Add the checkout extension (Shopify Plus)
In Shopify admin, go to Settings → Checkout → Customize, add the app block "Discount Code Recovery" to your checkout, then Save and publish.
The block stays invisible during normal checkouts - it only renders when a recovery offer exists for that checkout.
-
Create your backup discount code
In Shopify admin, create the discount you want to offer when a buyer's code fails - a dedicated code such as
WELCOME-BACKorVALUED-CUSTOMERworks best. Make it slightly smaller than your primary promotions to protect margin. -
Arm recovery in Settings
In the app, open Settings → Discount recovery and:
- Enable "Offer a backup code when a buyer's discount fails"
- Enter your backup discount code - the app live-validates it against Shopify and warns you if it's missing or inactive
- Choose Apply button (recommended) or automatic apply
- Pick the offer appearance: prominent card (recommended) or subtle banner
- Optionally customise the offer title, message, and confirmation copy
-
Verify with a test checkout
On your storefront, add a product to cart, go to checkout, and enter an invalid code like
FAKECODE123. You should see Shopify's normal error, a failed attempt in the app's Timeline, and - on Plus with recovery armed - the recovery offer in checkout. Apply it and complete a test order to see the full funnel light up.
Using the app day to day
Dashboard (Home)
Your recovery performance over the last 30 days: recovered revenue, recovered orders (with week-over-week comparison), revenue at risk, failed attempts, offers created, and offers applied. The recovery funnel shows conversion at each stage - failed → offered → applied → recovered - so you can drop a defensible number straight into weekly trading reviews.
Rising failed attempts is worth investigating: it often points to an expired campaign still being promoted, an influencer typo, or an eligibility problem.
Timeline
A chronological record of every discount attempt: the code tried, whether it was valid, the failure message, cart value and currency, and whether a recovery offer was created and applied. Filter by event type, validity, code search, or date range, and link through to identified customers. Use Export CSV for finance, BI, or offline analysis.
Popularity
Answers "which codes do customers try - and why do they fail?" Each code shows total uses, recent activity, valid vs invalid attempts, and its top failure reason:
| Failure reason | What it means / what to do |
|---|---|
| Not found | Typo or guessed code. If many buyers try the same missing code, consider creating it. |
| Expired | Strong candidate for reactivation or a follow-up offer. |
| Not active | The code exists but is deactivated - reactivate it if that's unintended. |
| Not yet valid | The start date is in the future. |
| Rejected at checkout | A real, active code, but the cart didn't qualify (minimum spend, eligibility, combinability). |
| Error validating | A temporary verification issue with Shopify - usually resolves itself. |
Customer segments & metafields
When a tracked buyer is an identified customer, the app syncs metafields (failed attempt count, successful use count, cart value at failed attempts, savings from valid codes, last failed/successful timestamps, most recent failed code) and additive tags:
failed-discount- had at least one failed attemptrecovery-discount-shown- was shown a recovery offerrecovery-discount-used- applied a recovery offer
Combine them in Shopify Segments or Flow - for example, buyers who were shown an offer but didn't use it are a natural win-back audience, and high cart value at failed attempts with no recent order flags high-intent near-converters.
Best practices
- Use a dedicated recovery code (e.g.
WELCOME-BACK) rather than reusing a campaign code - recovered orders stay cleanly attributable. - Make the backup slightly smaller than your main offers to protect contribution margin.
- Keep "genuine failure only" enabled (the default) so offers go to buyers whose code was expired or known - not to random guessing.
- Leave max offers per checkout at 1 unless you have a reason to raise it (the range is 1-5).
- Keep offer titles short - buyers scan checkout quickly.
- Prefer the Apply button over auto-apply for brand control; switch to auto-apply once you're confident in the flow.
Troubleshooting
The Timeline is empty
The Timeline populates once the pixel is installed and buyers attempt discount codes at checkout. Confirm the pixel status in Settings shows Installed, then run a test checkout with an invalid code - the attempt should appear within moments.
The recovery offer doesn't appear in checkout
Work through the readiness banner in Settings. All of the following must be true:
- The store is on Shopify Plus
- The "Discount Code Recovery" app block is added and published in the checkout editor
- Recovery is enabled in app Settings
- The backup discount code exists in Shopify and is active
- The failed code qualifies under your rules (with "genuine failure only" on, random made-up codes won't trigger an offer)
- The checkout hasn't already reached your max offers limit
Note the offer is also suppressed when the checkout session can't accept discount changes, and the app will never offer back the same code the buyer just failed with.
Will this affect successful discounts or checkout speed?
No. The app never touches successful discount flows, makes no theme edits, and the extension only reacts when a discount fails.
Contact support
We're here to help
Questions about setup, recovery rules, or your data? Email us and a human who built the app will get back to you.
support@discountrecovery.shop
Email support