A step-by-step walkthrough — from install to your first recovered checkout. No theme code changes required.
Find Second Chance Discount on the Shopify App Store and click Install. Approve the required permissions — the app needs access to your checkout, discounts, and order data to function.
Once installed, the Onboarding Wizard walks you through everything — enable tracking, collect a baseline, and activate your first offer. You can also skip ahead and explore the app manually.
The app works on all Shopify plans that support checkout extensibility. No theme code changes are needed — everything runs through Shopify's native checkout extensions and a lightweight web pixel.
On the Setup page, toggle Enable tracking on. This activates the web pixel that monitors your checkout for failed discount code attempts. Then complete the three installation steps:
Once all three steps show green checkmarks, you're live. Tracking is completely free and unlimited on all plans — it doesn't affect checkout speed or buyer experience in any way.
Enable tracking first and let it run for a few days. You'll see exactly how many buyers are entering failed discount codes and how much revenue you're potentially leaving on the table — all before committing to anything.
The Dashboard is your command centre. At the top, you'll see the key metrics that matter:
The dashboard — rescued revenue, missed value, rescue rate, funnel, and buyer intent in real time.
Below the summary, you'll find detailed analytics sections:
Use the date range picker to filter by Last 7 days, Last 30 days, Since offer active, or set a custom range. If an A/B test is active, per-variant results appear directly on the dashboard.
The dashboard shows contextual insight banners that highlight patterns — like rising missed checkouts, low offer visibility, or rescue rate changes compared to the previous period. These update automatically as your data grows.
Navigate to Offer Settings and click Create offer. You'll also find pre-seeded offer templates ready to use — these are created automatically when you first set up the app.
Give your offer a name (e.g. "10% rescue discount"), set its priority (higher priority offers are evaluated first), and make sure Offer is active is toggled on. The name is internal — buyers won't see it. You can also toggle A/B test only to restrict the offer to experiments.
The offer editor and offers list — name, priority, discount type, and active status.
Choose your discount type:
Set the value and configure combination rules (e.g. whether the rescue code can stack with existing product, order, or shipping discounts).
Set the discount amount (if applicable), then customise what the buyer sees in checkout:
{{discount}}, {{offer}}, {{code}}, {{minutes}})You can also configure:
SCD-).Control exactly when this offer appears. Add one or more conditions and choose whether all or any must be met:
You can stack multiple conditions per offer and run multiple offers with different priorities.
Click Save offer. The app will automatically generate unique, single-use Shopify discount codes and start reserving them for qualifying checkouts.
Each rescue code is unique and time-limited. Expired and used codes are automatically cleaned up from your Shopify discounts — no manual housekeeping needed. Codes are created on-the-fly and reserved for the duration you configure.
Before going live, test the full flow on your own store:
TESTBADCODE) and click Apply.
Before and after: the rescue offer appears in checkout once a discount code fails.
After completing the order, verify the full enrichment pipeline:
$app:second_chance_discount_order) is written for use in automations or reporting tools.If you're testing on a Shopify development store, make sure checkout extensibility is enabled. Some older dev stores use the legacy checkout which doesn't support checkout UI extensions.
Want to know if your rescue offer is actually increasing revenue? Run an A/B test to compare rescue performance against a control group.
First, create a rescue offer (or edit an existing one) and toggle both:
This ensures the offer won't show to normal visitors until your test is running.
Navigate to A/B Testing and create a new test:
Under Advanced settings, you can fine-tune the experiment:
Click Save and start to begin the test. Results appear on both the A/B Testing page (per-variant assigned checkouts, rescue rates, and revenue) and on the Dashboard (active test card with variant comparison).
Each checkout is deterministically assigned to a variant based on the checkout token. This means the same buyer will always see the same variant during a single checkout session, ensuring clean data.
Second Chance Discount offers four plans based on the number of rescued orders per month:
| Plan | Price | Rescued orders / month |
|---|---|---|
| Free | Free | 50 |
| Growth | $99/mo | 200 |
| Scale | $249/mo | 600 |
| Unlimited | $499/mo | Unlimited |
All plans include the full analytics dashboard, buyer intent reporting, A/B testing, order tagging & enrichment, CSV data export, and unlimited checkout tracking. The only difference is how many rescue orders can be completed per month. Once you hit your limit, tracking and reporting continue — rescue offers simply stop showing until the next billing cycle or you upgrade.
The free plan gives you 50 rescued orders per month with zero commitment and full features. Most stores find this is enough to prove the ROI before upgrading.
Let the app collect data for a few days first. You'll see exactly how many buyers are entering failed codes, what codes they're trying, and how much revenue you're missing. This data helps you set the right discount value for your rescue offer.
If buyers are typically trying 10% off codes, set your rescue offer to 10% (or slightly less). You're not giving away extra margin — you're recovering a sale that would have been lost entirely.
When you first activate a rescue offer, switch the dashboard date range to Since offer active. This filters out the tracking-only period so you can see clean rescue performance data from the moment offers went live.
The dashboard shows the most common failed discount codes buyers are entering. This tells you where your customers are finding codes — expired campaigns, coupon aggregator sites, influencer codes, or simple typos. Use this to inform your marketing strategy.
Every rescued order is tagged "Second Chance Discount - Rescue" in Shopify. Use this tag to filter your orders list, build Shopify reports, or trigger automations (e.g. Shopify Flow) for rescued customers.
If you sell across different categories, create separate rescue offers filtered by collection. For example, offer free shipping on accessories but a percentage discount on higher-margin products.
Under Offer Settings → Advanced settings, you can enable rescue offers even when the buyer already has a valid discount applied. This catches cases where a buyer has a working code but also tried an invalid one. The app will never double-prompt if they've already used a rescue code.
Use the CSV export on the dashboard to download checkout-level data — outcomes, failed codes, rescue events, order values, and experiment assignments. Import this into a spreadsheet or BI tool for custom analysis.
Before committing to a higher plan, run an A/B test to measure the exact lift your rescue offers generate. Compare rescued revenue in the treatment group against the control group to calculate your true ROI.
A healthy rescue rate is typically 10–30%. If yours is lower, try adjusting your discount value, messaging, or trigger rules. If it's higher, you may be able to reduce the discount amount and still maintain conversions.