# discountkit > The discounting platform for Shopify, built by Optizio Ltd. Every > promotion type (volume, tiered, gift with purchase, tiered rewards, BOGO, > fully custom rules) on one app, with storefront components that control > what shoppers see, not just what they pay. Discount logic runs in Rust > on Shopify Functions; storefront data ships via metafields with no API > calls at render time. Key facts: 4.9 stars from 95+ reviews on the Shopify App Store; Built for Shopify certified; plans from $99.99/month with a 7-day free trial; POS, Shopify Markets, B2B and multi-currency supported. ## Product - [Homepage](https://discountkit.app/): what discountkit does, live component demos - [Pricing](https://discountkit.app/pricing/): Pro and Enterprise plans - [Install on the Shopify App Store](https://apps.shopify.com/discount-kit) - [Book a demo](https://calendar.google.com/calendar/appointments/schedules/AcZssZ26HqmJv1jNB5YzwHld_JTrVi6E2oPaBB-WMnuIZJ0v0dEDpjf7BEqFyWeutUCkqqll_88ut8mQ) These docs are also an MCP server: connect `https://discountkit.app/mcp` (streamable HTTP) for search_docs / get_doc / list_docs tools. Catalog: https://discountkit.app/mcp-schema.json ## Documentation - [Discount Kit documentation](https://discountkit.app/docs/): Every possible discount for Shopify — volume, tiered, BOGO, gifts, tiered rewards, sales and fully custom rules, shown on your storefront. - [AI tools (MCP)](https://discountkit.app/docs/ai-tools/): Connect the discountkit docs to Claude, Cursor or any MCP client — a remote server with search, read and list tools. - [App blocks vs. Web Components](https://discountkit.app/docs/components/app-blocks-vs-web-components/): The two ways to place a component, and when to use each - [Components & the app block](https://discountkit.app/docs/components/component-entries/): Create a component in the admin, then place it with the Component block - [Events](https://discountkit.app/docs/components/gift-selector/events/): What the gift selector emits: selection changes, the add-to-cart payload in selection mode, and the change-gifts decision - [JavaScript API](https://discountkit.app/docs/components/gift-selector/javascript-api/): Open the quickview in selection mode with your own groups and slots, own the cart write, and reword the gift selector - [Gift Selector](https://discountkit.app/docs/components/gift-selector/overview/): The gift selector for gift-with-purchase discounts: tiers, slots, a selection tray, default gifts on close, and a cart trigger to change gifts - [Styling](https://discountkit.app/docs/components/gift-selector/styling/): Style the Change gifts button with the embed setting or the --dkl-change-gifts-* tokens, and the selection tray through CSS parts - [Web Component](https://discountkit.app/docs/components/gift-selector/web-component/): Place a trigger anywhere in your cart so shoppers can swap the gifts they have claimed - [Styling](https://discountkit.app/docs/components/global-styling/): Theme the components with global brand tokens and per-component tokens - [Overview](https://discountkit.app/docs/components/overview/): Drop-in storefront components that show your discounts on product pages, product cards and the cart - [App block](https://discountkit.app/docs/components/price/app-block/): Place the Discount Price with the Component block - [Events](https://discountkit.app/docs/components/price/events/): The events listens for and emits - [Discount Price](https://discountkit.app/docs/components/price/overview/): Theme-agnostic price display that reacts to volume tiers and variant changes - [Styling & Data Attributes](https://discountkit.app/docs/components/price/styling-and-data/): The data-* attributes, CSS styling tokens, and CSS parts for - [Web Component](https://discountkit.app/docs/components/price/web-component/): Drop into your theme markup and configure it with data-* attributes - [Events](https://discountkit.app/docs/components/quickview/events/): The events listens for and emits, and the Shopify standard events it speaks - [JavaScript API](https://discountkit.app/docs/components/quickview/javascript-api/): Open and close the quickview from code, the command events, and translating the dialog labels - [Quickview](https://discountkit.app/docs/components/quickview/overview/): A product quickview dialog any trigger on any page can open — options, quantity, add to cart, and the product's discounts - [Styling & Data Attributes](https://discountkit.app/docs/components/quickview/styling-and-data/): The data-* attributes, CSS styling tokens, and CSS parts for - [Web Component](https://discountkit.app/docs/components/quickview/web-component/): Place triggers in your theme markup — product cards, delegated links, Liquid seeding, and multi-product pickers - [App block](https://discountkit.app/docs/components/sale-badge/app-block/): Place the Sale Badge with the Component block - [Events](https://discountkit.app/docs/components/sale-badge/events/): The lifecycle events emits - [Sale Badge](https://discountkit.app/docs/components/sale-badge/overview/): A badge showing what one sale takes off, for products and product cards - [Styling & Data Attributes](https://discountkit.app/docs/components/sale-badge/styling-and-data/): The data-* attributes and CSS styling tokens for - [Web Component](https://discountkit.app/docs/components/sale-badge/web-component/): Drop into your theme markup and configure it with data-* attributes - [App block](https://discountkit.app/docs/components/tiered-rewards/app-block/): Place the Tiered Rewards progress bar with the Component block - [Events](https://discountkit.app/docs/components/tiered-rewards/events/): The event emits - [Tiered Rewards](https://discountkit.app/docs/components/tiered-rewards/overview/): Cart progress bar toward a tiered rewards discount's next offer - [Styling & Data Attributes](https://discountkit.app/docs/components/tiered-rewards/styling-and-data/): The data-* attributes, CSS styling tokens, and Light-DOM classes for - [Web Component](https://discountkit.app/docs/components/tiered-rewards/web-component/): Drop into your theme markup and configure it with data-* attributes - [App block](https://discountkit.app/docs/components/volume-picker/app-block/): Place the Volume Picker with the Component block - [Events](https://discountkit.app/docs/components/volume-picker/events/): The event emits - [Volume Picker](https://discountkit.app/docs/components/volume-picker/overview/): PDP selector for volume / tiered discounts, one radio card per tier - [Styling & Data Attributes](https://discountkit.app/docs/components/volume-picker/styling-and-data/): The data-* attributes, CSS styling tokens, CSS parts, and light-DOM classes for - [Web Component](https://discountkit.app/docs/components/volume-picker/web-component/): Drop into your theme markup and configure it with data-* attributes - [App block](https://discountkit.app/docs/components/volume-table/app-block/): Place the Volume Table with the Component block - [Volume Table](https://discountkit.app/docs/components/volume-table/overview/): A tier summary table for volume discounts, beside the product form - [Styling & Data Attributes](https://discountkit.app/docs/components/volume-table/styling-and-data/): The data-* attributes, CSS styling tokens, and Light-DOM classes for - [Web Component](https://discountkit.app/docs/components/volume-table/web-component/): Drop into your theme markup and configure it with data-* attributes - [Common settings](https://discountkit.app/docs/discounts/common-settings/): Settings shared across all discount types - [Custom](https://discountkit.app/docs/discounts/custom/): Build custom discount logic for unique promotional needs - [Generate codes](https://discountkit.app/docs/discounts/generate-codes/): Add thousands of unique codes to a Discount Kit code discount with Code Bulk - [Gift with purchase](https://discountkit.app/docs/discounts/gift-with-purchase/): Offer free gifts when customers meet purchase requirements - [Import and export](https://discountkit.app/docs/discounts/import-export/): Save a discount's setup as a file, and start a new discount from one - [Localized messages](https://discountkit.app/docs/discounts/localized-messages/): Override discount messages with translations for all available store locales - [Order](https://discountkit.app/docs/discounts/order/): Provide discounts when customers reach spending thresholds - [Product volume](https://discountkit.app/docs/discounts/product-volume/): Offer tiered discounts based on quantity purchased - [Sale](https://discountkit.app/docs/discounts/sale/): Run a sale across several collections, each with its own markdown, from one discount - [Shipping](https://discountkit.app/docs/discounts/shipping/): Discount delivery options by rate name, price, cart value, quantity or weight - [Stacking discounts](https://discountkit.app/docs/discounts/stacking/): Control which discounts can apply together — across discount classes and on the same cart line - [Tiered rewards](https://discountkit.app/docs/discounts/tiered-rewards/): Reward customers with order discounts, shipping discounts and free gifts as their cart grows - [Percentage discount rounding](https://discountkit.app/docs/general/percentage-discount-rounding/): Why percentage discounts on low unit prices don't always match the expected total - [Components or Live data](https://discountkit.app/docs/live/components-or-live-data/): Two ways to show your discounts on the storefront: ready-made components, or the Live data your own Liquid reads - [Examples](https://discountkit.app/docs/live/examples/): Copy-paste implementations for common use cases - [Filtering discounts](https://discountkit.app/docs/live/filtering-discounts/): Filter discounts by method, markets, customer tags, and cart state in your Liquid templates - [Introduction](https://discountkit.app/docs/live/introduction/): Real-time discount data available instantly in your storefront - [Data reference](https://discountkit.app/docs/live/reference/): Complete DiscountSummary field documentation - [Settings](https://discountkit.app/docs/live/settings/): Control what LIVE syncs to your storefront - [Storefront data](https://discountkit.app/docs/live/storefront-data/): Access discount data through product, collection, and shop metafields - [POS specific discounts](https://discountkit.app/docs/pos/overview/): Use Discount Kit discounts at your physical retail locations - [Sidekick](https://discountkit.app/docs/sidekick/): Create and manage Discount Kit discounts with Shopify's AI assistant - [Test mode](https://discountkit.app/docs/test-mode/): Test your discounts before going live — no subscription required ## Company - [About](https://discountkit.app/about/): the team at Optizio Ltd - [Legal](https://policy.optiz.io/): terms, privacy, DPA, SLA and support policies - [Resources](https://discountkit.app/resources/): news, press, videos and podcasts - Support: support@discountkit.app ## Optional - [Full documentation as one file](https://discountkit.app/llms-full.txt)