⚠️   Shopify Scripts will no longer be supported as of June 30, 2026  ⚠️   read the Shopify article 

Shopify Discounts Report What Does It Include for Merchants

Table of Contents

  1. Introduction
  2. The Dual Architecture of Shopify Discount Reporting
  3. Shopify Discounts Report: What Does It Include? (Field Breakdown)
  4. Platform Constraints and “The Plus Factor”
  5. How Nextools Enhances Your Discount Workflow
  6. Implementing the Nextools Playbook for Discounts
  7. The Technical Reality of “Sales Reversals”
  8. Troubleshooting Discount Data Inconsistencies
  9. Why Technical Precision Matters
  10. Nextools Shopify App Suite (Quick Links)
  11. Conclusion
  12. FAQ

Introduction

Managing a high-volume Shopify Plus store often feels like balancing a complex equation where the variables change every time you launch a promotion. For many merchants, the pressure to migrate from legacy Shopify Scripts to Shopify Functions has added a layer of technical urgency to an already complicated discount landscape. When you are stacking multiple offers, running flash sales, or managing international Markets, the standard dashboard metrics often fail to tell the whole story. You need to know exactly how your margins are being affected, but the primary question remains: “Shopify discounts report what does it include, and how do I interpret it correctly?”

At Nextools, we specialize in helping Shopify Plus merchants and agencies navigate these technical transitions. Whether you are migrating complex Ruby scripts to the Shopify Functions API or building advanced checkout logic using our Shopify App Suite, clear data is the foundation of every decision. This post is designed for developers, e-commerce managers, and agency partners who need to go beyond the “Usage” count and understand the underlying mechanics of Shopify’s reporting engine.

We will analyze the specific fields, calculation logic, and platform constraints that define Shopify’s discount reports. Following our engineering-led playbook, we will help you clarify your reporting goals, confirm the platform limits of Checkout Extensibility, choose the simplest durable approach for your promotions, implement them safely, and measure the results with precision.

The Dual Architecture of Shopify Discount Reporting

To understand what the Shopify discounts report includes, you must first recognize that Shopify does not provide a single “master” report. Instead, the platform splits discount data across two primary categories within the Analytics engine: Sales reports and Finance reports.

Sales by Discount Code (The Campaign Lens)

This report is found under Analytics > Reports > Sales. It is designed for marketing teams and campaign managers who need to evaluate the performance of specific promotions.

  • What it includes: This report groups data by the name of the discount (either the manual code entered or the automatic discount title).
  • The Primary Goal: To measure conversion and participation. It answers: “Which influencer code generated the most gross sales?”

Discounts by Order (The Transaction Lens)

This report lives under Analytics > Reports > Finances. It is the tool of choice for accounting and operations teams.

  • What it includes: A granular breakdown of how discounts affected individual order economics, including the distinction between line-item discounts and order-level discounts.
  • The Primary Goal: To measure margin impact. It answers: “How much did discounting reduce our realized revenue across all transactions?”

At Nextools, we often see merchants looking at the Sales report when they should be looking at the Finance report. If you are analyzing the impact of a Multiscount tiered pricing strategy, the Finance lens is critical because it accurately reflects the net revenue after all stackable layers are applied.

Shopify Discounts Report: What Does It Include? (Field Breakdown)

When you open a native Shopify discount report, the data is typically up-to-date within about one minute of a transaction occurring. However, the specific columns available depend on which report you are viewing.

1. Discount Identification Fields

  • Discount Name: The title given to an automatic discount or the name of the discount code.
  • Discount Code: The specific alphanumeric string the customer entered at checkout.
  • Discount Type: This classifies the logic—Fixed Amount, Percentage, Buy X Get Y, or Free Shipping.
  • Discount Class: This identifies whether the discount applies to Products, Order Totals, or Shipping. This is a critical field for those using Shopify Functions, as the “Class” determines how the discount interacts with other offers in the stack.

2. Commercial Performance Metrics

  • Orders: The count of unique orders where the discount was applied.
  • Gross Sales: Product price multiplied by quantity before any taxes, shipping, or discounts.
  • Discounts: The total dollar value reduction. This is calculated as the line-item discount plus the order-level discount share for those specific sales.
  • Returns (Sales Reversals): As of recent Shopify updates, “Returns” are often labeled as “Sales Reversals.” This includes any adjustment that results in negative monetary value, such as order edits or cancellations.
  • Net Sales: The formula used here is Gross Sales - Discounts - Sales Reversals. This is arguably the most important metric for assessing the health of a promotion.

3. Logistic and Tax Impact

  • Shipping: Total shipping charges minus shipping discounts and refunded shipping.
  • Tax: The total tax amount based on the discounted subtotal.
  • Total Sales: The final “bottom line” metric, calculated as Gross Sales - Discounts - Sales Reversals + Taxes + Duties + Shipping Charges + Fees.

Platform Constraints and “The Plus Factor”

The data included in your reports is heavily influenced by your Shopify plan and the underlying technology used to trigger the discounts.

The Shopify Plus Advantage

While basic plans have access to standard reports, Shopify Plus merchants gain deeper customization capabilities through the ShopifyQL Notebooks and the ability to build custom reports. For stores migrating from Shopify Scripts to Shopify Functions (a core focus of our SupaEasy app), the reporting behavior remains consistent with native discounts, but the logic can be much more sophisticated.

Checkout Extensibility and Functions

Legacy checkout “hacks” often obscured reporting data. With Checkout Extensibility, every discount applied via a Shopify Function is treated as a first-class citizen in the Shopify database. This means that if you use SupaEasy to create a complex “spend $100, get a gift, and hide specific payment methods” rule, the discount portion of that logic will flow perfectly into your “Sales by Discount Code” report.

Common Gotchas in Reporting Logic

  • Combinable Discounts: If your store allows customers to stack discounts (e.g., a product-level discount and a shipping-level discount), the “Sales by Discount Code” report may list the same order multiple times—once for each code. This can lead to an inflated “Order Count” if you aren’t careful with your filtering.
  • Test Orders: Deleted orders and test orders (made via a payment gateway in test mode) are excluded from these reports to maintain data integrity.
  • Draft Orders: These are only included once they are officially converted into an order.
  • Sales vs. Payments: The discounts report tracks sales, not payments. If a customer uses a manual payment method (like Bank Transfer) that you haven’t marked as paid yet, the sale—and its associated discount—still appears in the report on the date the order was created.

How Nextools Enhances Your Discount Workflow

Data is only as good as the strategy it supports. At Nextools, we suggest an engineering-minded workflow to ensure your discount logic is both high-performing and highly measurable. You can explore our full range of solutions on the Nextools Shopify App Suite hub.

Choosing the Right Tool for the Logic

When determining which app to use to generate the data that will eventually populate your reports, consider this decision tree:

  1. Do you need tiered pricing or stackable “Buy X Get Y” offers? Use Multiscount. This ensures that complex discount tiers are reported clearly at the line-item level.
  2. Are you migrating from Shopify Scripts to Functions? Use SupaEasy. It allows you to build sophisticated logic (like discounting based on customer metafields) that native Shopify features cannot handle alone.
  3. Do you need to auto-add gift products based on cart value? AutoCart is the standard for automation, ensuring “Gift with Purchase” scenarios don’t break your inventory reporting.
  4. Are you looking to clear out expiring or returned stock? NoWaste automates discounts for specific batches, allowing you to track the performance of your liquidation efforts separately.

Implementing the Nextools Playbook for Discounts

To ensure your discount reports remain clean and actionable, follow this five-step implementation process:

1. Clarify the Goal and Constraints

Before launching a discount, define what success looks like. Are you optimizing for AOV, conversion rate, or inventory turnover? Consider your constraints: Does this discount conflict with your shipping rules set in HideShip? Does it violate your fraud prevention rules in Cart Block?

2. Confirm Platform Limits

Understand where your logic runs. Shopify Functions execute at the server level, providing high performance and reliability. If you are using SupaEasy, you are leveraging the most modern infrastructure Shopify offers, which ensures your discount data is captured accurately during the checkout peak.

3. Choose the Simplest Durable Approach

Avoid “brittle” solutions. Instead of custom-coding a one-off script that might break during a Shopify platform update, use a Function-based app like Multiscount or SupaEasy. This ensures that your discount logic survives the transition to Checkout Extensibility.

4. Implement Safely

Never deploy complex discount logic directly to your live theme.

  • Test in a development store or a Shopify Plus sandbox.
  • Verify that the discounts appear correctly in the “Discounts by Order” finance report during testing.
  • Ensure that stackable rules don’t lead to “margin death” (where multiple discounts reduce the price to nearly zero).

5. Measure Impact and Iterate

Once the campaign is live, use the “Sales by Discount Code” report to monitor performance in real-time. Look specifically at the Net Sales and Average Order Value. If the discount is driving high volume but low AOV, you may need to adjust your thresholds (e.g., changing a “10% off everything” to a “10% off orders over $100”).

The Technical Reality of “Sales Reversals”

A significant point of confusion in the Shopify discounts report is the shift in terminology regarding returns. Shopify has replaced several legacy terms with more precise language:

  • Returns are now Sales Reversals.
  • Quantity Returned is now Reversed Quantity.

This distinction is important because a “reversal” can occur without a physical return (such as a goodwill refund for a late delivery). When you review what your discount report includes, ensure you are looking at the Reversed Quantity Rate to see if specific discount codes are attracting “serial returners.” For example, if a high-value coupon code has a 40% reversal rate, the “Gross Sales” figure for that code is a vanity metric; the “Net Sales” will reveal the campaign’s failure.

Troubleshooting Discount Data Inconsistencies

Sometimes, the numbers in your discount reports won’t align with your overall Sales report. This is usually due to one of three technical reasons:

The “Attribution Lag”

While reports refresh every minute, certain third-party payment gateways may take longer to finalize the transaction status. If an order is pending, it might appear in some views but not others.

Product Detail Changes

Shopify reports capture the state of a product at the time of sale. If you change a product’s title or type mid-campaign, the report may display the product on two different lines. This can make it difficult to see the total impact of a discount on a specific SKU unless you use a more robust reporting tool or filter by SKU rather than Title.

Multi-Currency and Shopify Markets

For merchants selling internationally, the discounts report includes currency conversion data. If you are using CartLingo to localize your checkout experience, ensure that your discount names are consistent across languages so they aggregate correctly in your reports. Otherwise, a “WELCOME10” code and its translated equivalent might show up as separate line items.

Why Technical Precision Matters

In the world of Shopify Plus, “good enough” data leads to expensive mistakes. If your shipping discounts aren’t being tracked properly because of a poorly implemented script, you might be overpaying for logistics without realizing it. Using ShipKit or HideShip allows you to set conditional logic that keeps your shipping costs predictable, while ensuring the discounts associated with those rates are reflected in your Finance reports.

Similarly, if you are an Italian merchant using Fatturify, your discount data must be perfectly synchronized with your invoices for tax compliance (SDI). Any discrepancy between the Shopify discount report and the generated invoice can lead to accounting nightmares.

Nextools Shopify App Suite (Quick Links)

To implement the strategies discussed in this article and gain better control over your store’s logic and data, explore our specialized apps:

Conclusion

The Shopify discounts report includes everything from basic usage counts to complex net sales calculations, but its value depends entirely on how you structure your promotions. By moving away from brittle, legacy scripts and toward the durable architecture of Shopify Functions, you ensure that your data is accurate, your checkout is fast, and your business is future-proof.

Key Takeaways for Your Store:

  • Audit your reports: Use the Sales category for marketing and the Finance category for accounting.
  • Watch for duplication: Remember that combinable discounts can list the same order multiple times in code-level reports.
  • Focus on Net Sales: Gross sales are a vanity metric; net sales account for the discounts and reversals that actually impact your bank account.
  • Leverage Functions: Use tools like SupaEasy to ensure your custom logic is natively tracked by Shopify’s engine.

Ready to take control of your checkout logic and reporting? Explore the Nextools Shopify App Suite to find the right tools for your Plus store. Whether you need to stack discounts with Multiscount or build custom validation rules with Cart Block, our engineering-first approach ensures you have the data you need to grow safely.

FAQ

Does the Shopify discounts report include Shopify Plus scripts?

Yes, but with caveats. If you use legacy Ruby Scripts to apply discounts, they will appear in your “Discounts by Order” finance report, but they may not always populate the “Sales by Discount Code” report with the same level of detail as native discount codes. This is a primary reason why many Plus merchants are migrating to Shopify Functions via SupaEasy, as Functions-based discounts are treated natively by all reporting APIs.

How can I test my discount reports without affecting live data?

The best way to test is by using a Shopify development store or a Plus sandbox store. All apps in the Nextools suite offer a “Free Dev Store” plan, allowing you to configure your logic and verify how the data appears in reports using test transactions before you ever go live.

Why does an order show up twice in my Sales by Discount Code report?

This typically happens when a customer uses “combinable discounts.” If an order applies both a 10% off code and a free shipping code, the report will create a row for each discount to show how much revenue was attributed to each specific campaign. When calculating your total unique orders, always cross-reference this with your “Orders” report to avoid double-counting.

Can I see which customer tags are associated with specific discount usage?

The standard Shopify discounts report does not include customer tags by default. To get this level of insight, you would need to use a custom reporting tool or a logic-heavy app like AttributePro to tag the order at the time of purchase based on the discount used, or use Shopify Flow to export custom data sets.

SupaEasy is a product built & designed by Nextools

Company

© [2024] website by Nextools. All Rights Reserved. PIVA: 16711981007