Can not find a good way to offer a simple customer journey : email with discount → website → checkout

I have an incredibly simple customer journey :

  • Customers get an email including a VIP discount code
  • They arrive on my site with the code activated automatically using a /discount/code link
  • They choose the products, checkout out, and life is good

Sounds simple right? But I can’t make it work after spending 4 days of researching, testing third party apps (15+ of them), and trying to custom code price.liquid among other things.

I have two challenges:

1. Discount code challenge

I can’t use the standard coupons on shopify because

  1. “Compare at” prices apply for all customers, not just VIPs. I need the “public” prices to remain visible to all visitors who don’t have a code
  2. I have 3 different types of VIPs, all with a different discount levels
  3. My products have variants (1 bottle, 6 bottles), and I therefore can’t use a flat amount discount per product
  4. My discounts are product variant dependent, and therefore I can’t use a percentage discount that would work on all products. For example, a certain type of VIP customers pay 50 for products with a public price of 69 and 65. So % can’t be used.

I found a temporary solution using the powerX functions creator app, combining three “campaigns” (in the app’s language) to somehow calculate the right prices. But it’s really a hack. Some prices end up being 49.99 instead of 50, the discounts can’t be applied in manual orders (seems to be an app bug), and I have to use 5 digits discount % to get to the prices I want (ex : 22.734, 25.129 and 28.578).

Why is it so complicated to do something that sounds so simple? Why can’t I manually set a price for each product x variant combon, activated only when a specific discount code is used?

PowerX has a “dynamic price” function that could work, except you can set one dynamic price once and for all; not one per discount code.

2. Discounted price display

This is one of those moments where I told myself, after migrating from Woo Commerce and the initial bliss of being in a more “professional” ecosystem, that, huh, there were some really frustrating limitations to Shopify that I hadn’t realised at first. And that probably would have prevented me from migrating in the first place.

So, as crazy as it sounds, I would like the prices displayed to my customers to… reflect the discount they are entitled to. Something like this:

Product A

$69 $50

I tried to:

  • Use the “compare at” function, but the discounts should not appear to visitors without a code, and I set different prices per type of clients. Won’t work
  • Use third party apps, but they charge crazy prices, something like 19.9$ per month for a few lines of codes. And I run a small store initially started for friends and family, I can’t justify such an expense. Also : why do they need all the information of my customers (email, name, etc?). Why one would need my customers’ email addresses to displays them a strikethrough price is beyond me.
  • Custom code in price.liquid, but it didn’t work because it’s not just a display problem; it’s a whole “detecting that the discount code is activated before a product is in the cart” issue, which demands JavaScripts that I could not get to work.

############

So here I am, after spending four 9am - 12pm days researching a solution to do something I think is super basic… And I’m stuck.

Anyone sees something I don’t see in there?

First, you don’t seem to understand how compare-at price works. It’s not a discount. It’s not a coupon. It has nothing to do with any of that. It’s an arbitrary number that is crossed out. That’s all.

Again, not a discount. It could be considered a “sale” but it’s not a discount the way Shopify Discounts work.

On to the email. It’s very very easy. Shopify Messages (Email) has everything you need and it’s already templated for you. Very easy. You send the email, the customer clicks the coupon link, goes to the site, and code is already applied. So so easy.

Hi @lauhau

Shopify has three separate systems that do not talk to each other properly:

  1. Product prices (what Liquid can see)
  2. Discounts (applied only at cart/checkout)
  3. Discount links (/discount/CODE)
    → these do NOT expose the discounted price to Liquid

Critical limitation (this is the core problem)

Shopify does not expose “discounted prices” on product pages. Period.

Until an item is in the cart, Shopify:

  • Does NOT know which discount will apply
  • Does NOT let Liquid read active discount codes
  • Does NOT let you override prices per discount code

So:

  • You cannot natively say:
    “If discount code VIP50 is active → price = 50”
  • You cannot display the discounted price correctly without recreating pricing logic yourself

This is why:

  • Compare-at prices fail
  • price.liquid hacks fail
  • 15 apps failed
  • You’re forced into insane % values like 22.734%

You didn’t waste 4 days — you discovered a real platform edge.

Best regards,
Devcoder :laptop:

Thank you for your reply. How do apps that propose crossed prices work then? At least one of my problems would be solved.
Examples :

Won’t let me put screenshots, but each show strike through prices on the App Store screenshots

The logic of the Compare-at price is that of a “sale”, so sale apps use Compare-at price to set the sale. This is completely separate from using a discount code. You may find an app that tries to blur the distinction, but you as a store owner need to understand how each of these works. As @devcoders said, when you apply a discount, you don’t see that until you get to cart or checkout.

Try using native Shopify functions and apps instead of third party until you can find a need to expand beyond the limits.

Thank you for your reply, if you know any a lightweight pricing/discount app that would cover my needs, I’m all ears. I would pay a few dollars a months, but my shops’s revenues don’t justify spending too much either.