Coupon Codes Override Free Trial

When a free trial is assigned to a membership level product, it seems that the trial overrides the parameters set when a user applies a coupon code. When the purpose of the coupon code is to offer some type of custom pricing (special discount 1st month, etc) this logic seems very counter intuitive.

So we'd like to know either the best practice, or if there's a workaround for applying a coupon code to a membership level with a free trial and having the coupon code parameters take precedence over the trial settings.

1 person has this question
I'm running into the same problem. +1 for this. Thanks!

Also having this issue. There must be some workaround.

Coupons are applied immediately to the transaction being processed. Currently, there isn't a way to apply a coupon to a future transaction, such as the first transaction after a free trial is over. (You can apply a coupon to that first transaction and all subsequent billing - but an initial transaction must take place for this to occur).

With coupons and trials, MM provides some flexible tools to allow you to customize pricing. Sometimes, the best option is to create a new product that reflects exactly the pricing you want.

If you would like to see the ability to apply coupons to billing events after a free trial, I invite you to add it to our feature request forum:


bump again.

I think it's important to note that coupons *are* applied to trials, however they are not applied to their descriptions.

So if my product normally says this on the checkout page: 


Product Price: 5 day trial then $295  (or another product that says: 6 payments of $79)

Today's Payment: $0

And I apply a 50% discount on all payments coupon, the checkout page says the exact thing as above. However once purchased, if you look at the subscription page for the client, or on their 'my account' page it will show:
1 payment of $147.50 (or $39.50).

Note also, if you use a $100 off the first payment, this will only apply to the trial amount ($0 or $1) and not to the first real charge.

Membermouse should apply coupons to descriptions. In the meantime, you could manually add javascript to the checkout page to rewrite the descriptions and prices. Here's some code to get you started. This is depends upon the coupon being applied via the url (&coupon=HALFPRICE) and a <div id="productPrice">surrounding your product price. So if you put a 50% off coupon into MM, you have to add a "case" entry below with a formula that multiples by 0.5 as demonstrated.




<script type="text/javascript"> 
var $j = jQuery.noConflict();

function getURLParam(name) {
    var results = new RegExp('[?&]' + name + '=([^&#]*)').exec(window.location.href);
    if ($j.isArray(results)) { return results[1]; }
    else { return false; }

     // If coupon code is provided on the URL... 
     var cp = getURLParam('coupon');
     if(cp.length>1) { 
          // hide coupon block 

          // Modify price description
          var str = $j('#productPrice .mm-data').text();
          var found = str.match(/(.+)\$(\d+.\d\d)/);
          var finalPrice;
          switch(cp) {
               case "HALFPRICE": finalPrice = found[2] * .50; break;
               case "SAVE100":      finalPrice = found[2] - 100; break;
               case "SAVE20":        finalPrice = found[2] * .80; break;
          $j('#productPrice .mm-data').text(found[1] + "$" + finalPrice.toFixed(2));



Thanks Cory.  I did something similar.  I think I attached this kind of solution in another ticket.

Ah, it seems the other ticket discussing this topic was deleted.

Login or Signup to post a comment