Discount didn't apply (or partially applied)
What to do when items fail to discount, only part of a batch updates, or storefront prices don't change.
Show all sections (13)
- Step 3: Identify the cause
- Scenario A: Only some items updated (Partial)
- Scenario B: Nothing updated (Failed)
- Scenario C: StockSweep says success but Shopify storefront shows old price
- Scenario D: Storefront shows the discount but no strikethrough
- Step 4: Verify in Shopify Admin
- Step 5: Check for tag and collection side effects
- Quick recovery guide
- If it is still happening (escalate to support)
- Related articles
Most discount issues come from Shopify API rate limits, batch size, or storefront caching. This guide helps you diagnose and recover safely.
Estimated time: 6–10 minutes
What you'll accomplish
- Determine whether the operation is still processing or has actually failed
- Recover safely (retry only failed items, not the entire batch)
- Know exactly what to send support if the issue persists
Step 1: Is it still processing?
StockSweep processes discounts differently based on batch size:
| Batch size | Processing mode | What you see |
|---|---|---|
| < 10 items | Synchronous — via Shopify REST API, one item at a time | Results appear immediately. If there is a problem, you see it right away. |
| 10+ items | Asynchronous — via Shopify GraphQL bulk operations, processed in background | A progress indicator appears. Results arrive per item as processing completes (1–5 minutes for ~100 items). |
If you applied a discount to 10+ items and see a "processing" state:
- Wait 1–5 minutes and check again
- Do not close the page while processing is in progress
- The operation will appear in Discount History once complete
Step 2: Check Discount History
Go to Discount History and look for the most recent operation:
| Operation status | What it means | What to do |
|---|---|---|
| Completed | All items in the batch were updated successfully | Verify one item in Shopify Admin (see Step 4) |
| Partial | Some items succeeded, some failed | Identify the failed items and retry them in a smaller batch |
| Failed | All items failed | Check the error message, reduce batch size, and retry |
| Processing | Still running | Wait — large batches take time due to Shopify rate limits |
Each item within an operation has its own status, so you can see exactly which items succeeded and which failed.
Step 3: Identify the cause
Scenario A: Only some items updated (Partial)
Most likely cause: Shopify API rate limits.
When StockSweep sends a large batch of price updates, Shopify enforces rate limits. The first items in the batch succeed, but later items may be throttled.
Fix:
- In Discount History, identify the failed items from the operation
- Select only those items
- Retry with a smaller batch (under 50 items)
- For very large catalogs, consider processing 50 items at a time with a short wait between batches
Scenario B: Nothing updated (Failed)
Possible causes (check in order):
| Cause | How to check | Fix |
|---|---|---|
| Discount cap exceeded | Error message says "exceeds maximum cap" | Choose a lower discount percentage that is within your cap |
| Shopify permissions issue | Error mentions "access denied" or "unauthorized" | Confirm the app is still installed in Shopify Admin → Settings → Apps. Re-authorize if needed. |
| Shopify API outage | Error is generic (500, timeout) | Wait 15–30 minutes and retry. Check Shopify Status for known outages. |
| No items selected | The Apply Discount button was clicked but no items were checked | Select at least one item and try again |
Scenario C: StockSweep says success but Shopify storefront shows old price
Most likely cause: storefront caching.
Shopify Admin is the source of truth for pricing. The storefront (what customers see) can lag behind due to:
| Cache layer | Typical delay |
|---|---|
| Shopify CDN | Seconds to a few minutes |
| Theme-level caching | Minutes (depends on theme) |
| Browser cache | Until hard refresh |
| App/proxy caching | Varies |
Fix:
- Open the product in Shopify Admin → Products — confirm
compare_at_price= original price andprice= discounted price - If Admin shows the correct prices, the discount worked. The storefront will catch up.
- Hard refresh the storefront product page (Ctrl+Shift+R)
- Test in an incognito/private browser window (bypasses browser cache)
Scenario D: Storefront shows the discount but no strikethrough
Most likely cause: your Shopify theme does not display compare_at_price as a strikethrough.
StockSweep sets compare_at_price to the original price (enabling the "Was $X, Now $Y" display), but not all themes render this automatically.
Fix: check your theme's product template to confirm it supports compare_at_price rendering. Most popular themes (Dawn, Debut, etc.) support this natively.
Step 4: Verify in Shopify Admin
After a discount is applied (or after retrying), verify one item manually:
- Open Shopify Admin → Products
- Find the discounted product and click the variant
- Check these fields:
| Field | Expected value |
|---|---|
| Price | The discounted price (e.g., $80 for a 20% discount on $100) |
| Compare at price | The original price (e.g., $100) |
- If both fields are correct, the discount is working. Any display issues are storefront/theme related.
Step 5: Check for tag and collection side effects
If you have auto-tagging enabled, verify:
- The product has the configured tag (default: "clearance") in Shopify Admin → Product → Tags
- The product appears in your clearance/sale collection
If the discount failed but the tag was applied (or vice versa), the daily cleanup job at 4:00 AM will reconcile orphaned tags.
Quick recovery guide
| Symptom | Quick fix |
|---|---|
| Partial batch failure | Retry only failed items, batch of 50 or less |
| All items failed | Check error message, reduce % or batch size, retry |
| Storefront shows old price | Hard refresh or incognito test; check Shopify Admin |
| No strikethrough on storefront | Check theme supports compare_at_price |
| Discount History shows "Processing" | Wait 1–5 minutes and refresh |
If it is still happening (escalate to support)
After working through the steps above, if the issue persists, contact support with:
| What to include | Example |
|---|---|
| Store domain | mystore.myshopify.com |
| Product/variant links | Direct URLs to affected products in Shopify Admin |
| Batch size | "50 items" |
| Discount percentage | "20%" |
| Timestamp of the attempt | "2026-02-21 at 3:15 PM EST" |
| Error message | Screenshot or exact text |
| Discount History status | "Operation shows Partial — 35 succeeded, 15 failed" |
| Sync vs. async | "Batch was processing in background" |
This gives support everything needed to investigate without additional back-and-forth.
Related articles
Was this article helpful?
Let us know — your feedback helps us improve our documentation.