Discountly documentation / Manage discounts
Import, export and duplicating discounts
Export Discountly discounts to a JSON file and import them back as drafts. Duplicate a discount, keep a backup before big changes, copy discounts to another store, what the file contains and leaves out, who can import, and the messages you may see.
Discountly can save your discounts to a file and create discounts from one. Use it to:
- Duplicate a discount: there's no duplicate button, so export it and import the file. The copy arrives as a draft.
- Keep a backup before a big change, such as rewriting all your tiers for a sale.
- Copy discounts to another store that has Discountly, such as a staging store or a second region.
Import always creates new discounts. It never changes or replaces the ones you have.
Export
- Open Discountly's Discounts page.
- To export some discounts, tick them in the list. To export all of them, tick nothing.
- Click Export. The window says what it will export, "Export the 2 selected discounts." or "Export all discounts.", and "Exports as a JSON file."
- Click Export.
The browser downloads a file named discountify-export- plus the date, such as discountify-export-2026-10-25.json, and a message confirms "Exported 2 discounts".
- All discounts means every discount in Discountly, whatever its status (active, scheduled, draft, expired), not only the ones the current filter or search shows.
- Selections are per page. The list shows 8 discounts a page, and moving to another page clears what you ticked. To export a handful from different pages, search for them first, or export all.
- Anyone with access to Discountly can export, including the Viewer role. See the roles in Getting started.
Import
- On the Discounts page, click Import. The window reads "Upload a Discountly export. Rules are created as drafts so you can review them before activating."
- Click Choose JSON file and pick the file.
- A message confirms "Imported 2 discounts as drafts".
Importing needs the Editor role or higher.
Every imported discount:
- Is a draft. Customers can't use it, it isn't in Shopify's Discounts list yet, and it doesn't count toward your plan. Drafts are unlimited on every plan.
- Is new. It gets its own history: its Audit trail starts with Imported and lists every setting it came in with.
- Finds its products again. Products chosen By criteria are matched in the background, as after any save. The matching count appears after a few minutes. See How matching products stay up to date.
Putting imported discounts live
Open each draft, check it, and click Save rule. That checks it fully, against your plan and the size limits, and creates it in Shopify. If Shopify refuses it, nothing goes live and the banner gives Shopify's reason. See Save: live or draft.
You can also tick several drafts in the list and click Activate. That's checked against your plan for all of them together: if one doesn't fit, none are activated.
Duplicate a discount
- Tick the discount in the Discounts list, click Export, then Export.
- Click Import, then Choose JSON file, and pick the file you just downloaded.
- The copy appears as a Draft with the same title. Open it.
- Change the Title, so you and your customers can tell the two apart. Customers see the title in the cart and at checkout.
- If it uses a Discount code, give the copy a new code: two discounts can't share a code in Shopify.
- Change what the copy is for: its tiers, products, customers or Schedule. The copy keeps the original's start and end dates.
- Click Save rule to put it live, or leave it as a draft.
The copy is a separate discount from then on. Changing one never changes the other.
Don't duplicate a Discountly discount from Shopify's own Discounts page. Discountly's settings live in Discountly, and it manages only the discounts it created. Make copies in Discountly.
What the file contains
Everything you set in the editor, for each discount:
- Title, method, discount code, usage limits, schedule and status
- Every logic block, paused or not: tiers, values, messages, rewards and gifts, targeting and exclusions
- Items already on sale, the shipping add-on, minimum purchase requirements, Eligibility and Combinations
- Advanced settings: available offers and upsell hints
What it leaves out:
- Anything that ties a discount to Shopify, such as its ID in Shopify's Discounts list. Shopify creates a new one when you activate the copy.
- The list of matching products, which is rebuilt after import.
- The audit trail and analytics. The original keeps its history; the copy starts its own.
The status in the file is ignored on import: everything comes in as a draft.
Copying discounts to another store
Export from one store and import into the other. Settings written as text carry over as they are: product tags, product types, vendors, metafield namespaces and keys, metafield values, customer tags, amounts and quantities.
Things you picked from your catalog or customer list are saved by their Shopify ID, and IDs differ between stores. After importing into another store, open each draft and pick these again:
- Collections and specific products or variants in targeting
- Free gift, reward and backup variants
- Metaobject entries
- Specific customers and Customer segments
Then click Save rule on each.
If the other store isn't on Shopify Plus, imported Buy X get Y and free gift discounts that used a discount code come in as automatic discounts, since codes for those types need Shopify Plus. See Creating a discount.
Messages
| Message | What it means |
|---|---|
| Imported 2 discounts as drafts | All discounts in the file were created |
| Imported 3 of 4 as drafts. 1 skipped (see console). | One discount couldn't be read, usually because it has no title or a setting is out of range. The others were created. The reason is in the browser's developer console |
| Couldn't read the file as JSON. | The file isn't a Discountly export, or it was damaged, for example by opening and saving it in a spreadsheet |
| This doesn't look like a Discountly export (missing discountify.kind = "discount-rules"). | The file is JSON, but not from Discountly's Export |
| Unsupported export version | The file comes from a different version of Discountly's export format. Export it again from the current app |
| The file has no rules to import. | The export was empty, for example a store with no discounts |
| Export failed | The download didn't complete. Reload the page and try again |
Troubleshooting
I can't see Import. Your role is Viewer. Ask the store owner for the Editor role.
The copy has no matching products. Matching runs in the background after import; reload in a few minutes. If it stays empty after copying to another store, re-pick the collections and products. See Copying discounts to another store.
Activating the copy fails. Read the banner on the discount. If it mentions the code, give the copy a code no other discount uses. If it says your plan doesn't allow more live discounts, deactivate one or upgrade. See Plan limits.
I edited the file and now it won't import. Keep the discountify section at the top unchanged, and save the file as plain text (UTF-8), not from a spreadsheet. Each discount in the file is checked like a draft saved in the editor.