That Software Guy! eCommerce Starts Here!

Zen Cart Discounting


Discounting 101

If are not familiar with the basic discounting mechanisms that are available in Zen Cart, please read my overview article.

The Manual

If you haven't done so already, please purchase the manual e-Start your Web Store with Zen Cart. This will give you a strong foundation in the native (built-in) discounting mechanisms in Zen Cart.

Superiority of BOGO Discount over Percent-off Sales

Why BOGO Discounts are better than Pecent off Sales for your Zen Cart.

BOGO Possibilities

If you're looking for BOGO, I have options for you. Take a look at my List of BOGO Options for Zen Cart to get started.

Solution Overview

ProductExplanationConfiguration
Quantity Discounts Buy in volume, save money.

If you want to give a volume discount or bulk discount in your Zen Cart, use Quantity Discounts.
Global settings in admin panel
Better Together Buy two linked items, save money; buy one, get one free; buy one item, get another at a discount.

If you want to do buy one, get one discounts on select products in your Zen Cart, use Better Together.
Configuration in module using PHP *or* optional admin panel (try it! login with test/test).
Combination Discounts Buy multiple linked items, get a discount on another product / receive another product free.

If you want to do buy two, get one or buy 3, get one discounts on select products in your Zen Cart, use Combination Discounts.
Configuration in module using PHP *or* optional admin panel (try it! login with test/test).
Big Spender Spend over a certain dollar amount, get a discount on other products / receive other products free.

If you want to offer discounts on some products for purchases over a specified dollar amount in your Zen Cart, use Big Spender.
Configuration in module using PHP.
Big Chooser Buy multiple items, get a discount on other products or combinations of products, or receive other products or combinations of products free.

If you want to offer discounts on some products for purchases of combinations of other products, with the ability to add complex additional constraints and restrictions, use Big Chooser.
Configuration in module using PHP.
Discount Chooser Buy multiple items, get other products or combinations of products free or at a discount.

If you want to offer free or discounted products for purchases of combinations of other products, with a built-in Admin panel, use Discount Chooser.
Configuration using built-in admin panel (try it! login with test/test).
Discount Spender Spend a certain dollar amount, get other products or combinations of products free or at a discount.

If you want to offer free or discounted products for certain levels of spending (possibly on particular items or categories), with a built-in Admin panel, use Discount Spender.
Configuration using built-in admin panel.
Frequency Discounts Spend a certain dollar amount within a certain period of time (days, weeks, months) and receive a discount on your current order.

If you want to offer discounts to customers who make purchases in a specific time window, use Frequency Discounts.
Configuration in module using PHP.
Table Discounts Quantity discounts with different discounting schedules for different products, categories or manufacturers.

If you want to offer tiered discounts to customers who make volume or bulk purchases, use Table Discounts.
Configuration in module using PHP.
Case Discounts Quantity discounts with different discounting schedules for different products in specific quantities.

If you want to offer a tiered discount to customers who make volume or bulk purchases in specific quantities, and want an admin panel, use Case Discounts.
Configuration in Admin Panel.
Manufacturer Discount Discounts on items from a particular manufacturer with a built-in admin panel.

If you want to offer discounts for purchases from specific manufacturers, use Manufacturer Discount.
Per manufacturer configuration in admin panel
BOGO Discount Buy some number of items, get some other number of items at a discount, for all items in the catalog (grouping by item, category or without restriction).

If you want to offer BOGO (buy one, get one), buy two, get one, etc. discounts on your entire catalog, use BOGO Discount.
Global configuration in admin panel


Matrix-o-discounts

I know this is a lot of information, but there are a tremendous number of ways to discount products, and I want you to get the discounting software that will meet your needs. If this table is overwhelming to you, just contact me, tell me what kind of discount you want to do, and I'll give you the short list of options.

What you want to doWhat to use
Discount one item E.g. Save 17% on item 12
No extra software required; this is what Specials do. See p. 229-230 in the manual.
Discount one item, for one customer or group only E.g. Group 1, save 17% on item 12 Use Per User Group Specials.
Discount one category, for one group only E.g. Group 1, save 17% on category 4 Use Table Discounts. (You could also use Big Chooser, but it is not as well suited to this particular scenario.)
Discount a category of items E.g. Save 8% on category 5.
No extra software required; this is what Sales do. See p. 233-235 in the manual.
Discount the total order price to specific customers E.g. Group 1 saves 12% on their purchase.
No extra software required; this is what Group Discounts do. See p. 235-237 in the manual.
Provide coupons for free shipping OR a discount No extra software required; a coupon mechanism exists in the cart. See p. 311-321 in the manual.
Automatically create coupons based on purchase total Use Spender AutoCoupon.
Automatically create coupons when specific items are purchased Use Chooser AutoCoupon.
Provide coupons for free shipping AND a discount on specific products Use Big Chooser. The coupon system can create a coupon providing free shipping, and Big Chooser can create a discount on specific products which is conditional upon the coupon code.
Provide free shipping after spending a certain dollar amount in total No extra software required; two mechanisms are provided in Zen Cart to do this; In Admin->Modules->Order Total, edit the Shipping Module, and set free shipping over a specific dollar amount. Alternately you may use FreeOptions in Admin->Modules->Shipping. See p. 133 and 135-136 in the manual.
Provide free (or discounted) shipping after spending a certain dollar amount on certain products, categories, manufacturers E.g. Spend $100 on Category 1, get 50% off shipping
Use Big Spender to provide free or discounted shipping. You can make this dependent on a coupon code by using the coupon system to do a product discount, and making the Big Spender discount conditional upon the coupon code.
Provide a discount to people who subscribe to your newsletter Use Newsletter Discount.
Provide a discount to members of the military Use Military Discount.
Provide a discount for items made by one particular manufacturer E.g. 20% off Acme Industries products
Use Manufacturer Discount. Big Spender, Big Chooser, or Table Discounts.
Provide a discount for items made by one particular manufacturer, which requires a coupon to use Use Big Spender or Big Chooser.
Provide a discount for items with a particular attribute setting when bought in specific combinations (Buy item A with attribute setting X, get a discount on item B). Use Big Chooser.
Provide a discount for items with a particular attribute setting when bought in quantity Use Table Discounts.
Save if you buy in bulk (quantity discounts) If you're only doing this on one or two products, you can use the native Quantity Discounting mechanism (p. 231-233 in the manual). If you're doing it across the board, or grouping dissimilar items (so that quantities two different items count towards a discount), but only have one discounting schedule, take a look at my Quantity Discounts contribution. To see a breakdown of the differences between the native Quantity Discounts module and my code, click here.
Save if you buy in bulk(quantity discounts), with multiple discount schedules for different categories or items Category 1: Buy 10+, save 20%, buy 20+, save 25%; Category 2, Buy 10+ items, save 15%
If you have quantity discounts with different discounting schedules for different items, or per product discounts with multiple discounting schedules, take a look at my Table Discounts extension.
Provide a final price for specific bulk quantities (quantity discounts) of certain items or groups of items. Category 1: Buy 10 for $35; buy 20 for $50.
This can be done with the Table Discounts extension.
Save if you buy in bulk, with a discount for purchases in a specific quantity Buy a case of 12 of product 7, save $5.00
If you have per-product discounts on purchases at a specific volume level, and want an admin panel, take a look at my Case Discounts extension.
Buy one, get one free (BOGO) on specific items This is what Better Together does.
Buy one, get one free (BOGO) on all items This is what BOGO Discount does.
Buy one, get additional (no count limit) at a discount, for a specific item This is what Table Discounts does.
Buy A, get B at a discount This is what Better Together does. does for specific items.
This is what BOGO Discount does for all items in the store.
Buy 2 of A, get B at a discount
Buy A, get 2 of B at a discount
Buy 3 of A, get B at a discount
Buy 2 of A, get a third A at a discount
This is what BOGO Discount does for all items.
This is what Combination Discounts does for specific items.
This is what Discount Chooser does for specific items. (Note that Discount Chooser allows A or B to be linked categories.)
Buy A and B, get C at a discount This is what Combination Discounts does.
This is what Discount Chooser does. (Note that Discount Chooser allows A, B or C to be linked categories.)
Buy A, B, C, D ... get Z at a discount This is what Combination Discounts does.
This is what Discount Chooser does, with a limit of ten items as conditions. (Note that Discount Chooser allows A, B, C, D ... Z to be linked categories.)
Buy 1 of A, 2 of B, 3 of C, ... get unlimited Z at a discount This is what Combination Discounts does.
Buy A, B, C, D, get the entire package at a fixed price. (This is sometimes called a fixed price kit or a "Happy Meal.") This is what Discount Chooser does. (Note that Discount Chooser allows A, B, C, D to be linked categories.)
Buy A, B, C, D, get a % off discount on the entire package. (This is sometimes called a kit discount) This is what Discount Chooser does. (Note that Discount Chooser allows A, B, C, D to be linked categories.)
Spend over $100, get a gift This is what Big Spender does.
This is what Discount Spender does.
Spend over $100, get a discount off A This is what Big Spender does.
This is what Discount Spender does. (Note that Discount Spender allows A to be a linked category.)
Spend over $100, get a discount off some combination of A, B and C This is what Big Spender does.
This is what Discount Spender does. (Note that Discount Spender allows A, B or C to be linked categories.)
Spend over $100 from category X, get a discount on A This is what Big Spender does.
This is what Discount Spender does. (Note that Discount Spender allows A to be a linked category.)
Spend over $100, get a your choice of four items from category 1 and/or category 2 This is what Big Spender does.
This is what Discount Spender does. (Note that Discount Spender allows 1 or 2 to be linked categories.)
Spend over $100, get a your choice of two items from category 1 and 2 items from category 2 This is what Big Spender does.
Spend over $100 from category X, get a discount off the entire cart This is what Big Spender does.
Buy any item, get any other item at a discount (on all items) This is what Big Chooser does.
This is what Discount Chooser does.
This is what BOGO Discount does.
Buy any item, get a specific item or items at a discount This is what Big Chooser does.
This is what Discount Chooser does.
Buy items A, B, C, get a discount off some combination of D, E and F This is what Big Chooser does.
This is what Discount Chooser does. (Note that Discount Chooser allows any of A-F to be linked categories.)
Buy items A, B, C, get a your choice of a discount off D, E or F This is what Big Chooser does.
This is what Discount Chooser does. (Note that Discount Chooser allows any of A-F to be linked categories.)
Discount a package (a collection of items) where certain quantities of items should be chosen from category 1, category 2, and category 3. (This is sometimes called a kit discount.) This is what Big Chooser does.
This is what Discount Chooser does.
Provide a final price on a package (a collection of items) where certain quantities of items should be chosen from category 1, category 2, and category 3. (This is sometimes called a kit discount.) This is what Discount Chooser does.
Buy items A, B, C, get a your choice of two items from category 1 and 2 items from category 2 This is what Big Chooser does.
Buy items A, B, C, get a discount off the entire cart This is what Big Chooser does.
Buy items A, B, C, get a discount off the total of these items This is what Big Chooser does.
Discount based on past purchase volume This is what Frequency Discounts does.
Here is a comparison of Combination Discounts and Big Chooser.
Here is a comparison of Discount Chooser and Better Together/Combination Discounts/Big Chooser.

Category Handling in Discount Mods

Determining a product's category in Zen Cart can be confusing. Products are initially created in one category, but can be "linked" to other categories. In most of my mods, the "linked" categories are ignored; products are considered to be in the the parent category in which they were initially created. This value is reflected in a field called "master_categories_id" in the products table, with one such setting per product.

A few of my mods do respect linked categories. They look for category matches both in master category and ancestors, and in linked categories and ancestors. These mods are Free Gift Chooser and Free Gift Spender.

ToolCategory Definition
Quantity Discounts The parent category id, as determined by the master_categories_id field in the products table. Linked Categories are not used.
Better Together Same as Quantity Discounts (parent category only).
Military Discount Same as Quantity Discounts (parent category only).
Newsletter Discount Same as Quantity Discounts (parent category only).
Combination Discounts The parent category id, as determined by the master_categories_id field in the products table, and all parents of that category. Linked Categories are not used.
Big Spender Same as Combination Discounts (parent and all ancestors).
Big Chooser Same as Combination Discounts (parent and all ancestors).
Free Gift Chooser Does parent and all ancestors, like Combination Discounts, but then tries linked categories (looks up product in products_to_categories table).
Free Gift Spender Same as Free Gift Chooser (parent and all ancestors, then linked categories).
Frequency Discounts Same as Quantity Discounts (parent category only).
Table Discounts Same as Combination Discounts (parent and all ancestors).
Manufacturer Discount N/A (no category operations).
BOGO Discount Either the parent category id, as determined by the master_categories_id field in the products table, OR the top level category, as determined by the highest level parent of the parent category id. Linked Categories are not used.
More details on category handling in my mods are provided in this page.

Add-Ons and Interoperability

ToolAdd-Ons
Quantity Discounts Discount Preview
Quantity Discounts Promotional Page
Better Together Discount Preview
Better Together Admin panel
Checkbox Cross Sell
Checkout Candy
Checkout Candy with Buy Now
Better Together Marketing Text
Better Together Marketing Text with Buy Both Now
Better Together Offers on Listing Pages
Better Together Promotional Page
Better Together Promotional Page with Add Both to Cart
Better Together Centerbox
Better Together Centerbox with I Want Both
Combination Discounts Combination Discounts Marketing Text
Discount Preview
Checkout Candy for Combination Discounts
Buy The Set
Combination Discounts Admin Panel
Combination Discounts Offers on Listing Pages
Combination Discounts Promotional Page
Combination Discounts Promotional Page with Add All to Cart
Big Spender Discount Preview
Big Upsell
Big Spender Promotional Page
Big Chooser Discount Preview
Big Upsell
Big Chooser Promotional Page
Discount Chooser Discount Preview
Discount Spender Discount Preview
Frequency Discounts Discount Preview
Frequency Discounts Promotional Page
Table Discounts Discount Preview
Table Discounts Promotional Page
Manufacturer Discount Discount Preview
Manufacturer Discount
BOGO Discount Discount Preview


Most of my discounting modules each have their own Promotional Pages. There is also an integrated promotional page if you wish to display all discounts on one page.

Trying to decide between Big Chooser and Combination Discounts? They have a lot in common; here's a comparison.

Do you want to see some clever ways people have used PHP to configure my modules? Take a look at Advanced Configuration of That Software Guy's Zen Cart Discount Modules.

Do you have a discounting plan you need implemented? Describe it to me and I'll give you a quote.