Zen Cart Checkout Candy - the Algorithm
OverviewPeople ask me all the time about Checkout Candy, what it does and doesn't do, why they need it, etc. etc. So here are the answers.
The core of Checkout Candy is just a platform to display messages. Messages are displayed on the Shopping Cart page and on the first page of checkout (Shipping page). If you know how to write PHP code, you can do this much yourself. So what's the big deal?
The big deal is that I add sprinkles of logic to Checkout Candy to display messages that encourage customers to do certain things. And I do it to your specifications. This is custom, one-off code, just for you, based on the upselling or cross-selling you want to do in your shop. People ask for all kinds of different things; for example:
- Buy item A if you have item B in the cart (a Better Together style upsell without the discount).
- Add more items to your cart to qualify for Free Shipping, a coupon, a discount, etc.
- Buy product A if it's not in the cart already
- Buy product A in groups of 4, 6 or 10 for a greater Quantity Discount
Checkout Candy with Better TogetherIf you have linked A and B using Better Together, and you have A in your cart, you will be prompted to buy B. If you have B in your cart, you will be prompted to buy A. If you have the same number of A and B, you will not be prompted.
If you have overlapping rules - for instance, (A and B) and (A and C), and you have A in your cart, you will be prompted to buy both B and C. This is because both B and C are potentially discounted items. To see the actual discount, you can deploy Discount Preview, or tell the customer to go to the Payment page in the checkout process.
Here's the link for Checkout Candy for Better Together.
Checkout Candy with Combination DiscountsSuppose you have specified that buying A and B will get you a discount on C. If you do not have A and B in your cart, it will prompt you to buy the missing one(s), in the count specified in your add_linkage() statement. If you have A and B but not C, it will tell you you qualify for a discount on C.
The same caveat about overlapping rules applies.
Here's the link for Checkout Candy for Combination Discounts.
Checkout Candy with Big Spender/Big ChooserBecause of the complexity of evaluating partially complete offers (the way Checkout Candy does) with Big Spender and Big Chooser, I decided to go with a different approach. A new module called Big Upsell has been developed, which displays all your Big Chooser and Big Spender discounts on the shopping cart and checkout shipping pages. It doesn't probe the cart and determine what discounts have and could be taken based on the cart contents, it simply displays all available discounts. By default, all discounts are "available" unless
- A set_group statement was used, and you are not logged in and in that group.
- A set_coupon statement was used, and you have not entered that coupon.
Think about the content of the Promotional Pages for Big Chooser and Big Spender. This is what Big Upsell displays, but on the shopping cart and checkout page, not on a dedicated page.