On Drupal 7.x and CiviCRM 4.6 and using latest CiviDiscount, is it possible to offer member discounts on a webform?

Specifically, we are offering 5 Webinars (all CiviEvents), which are included in our Webform as components. We notice that when we make a CiviDiscount with an automatic member discount, it does not apply to our webform submission.

Is there an alternative way to enable this functionality? I've thought about having Member pricing be another select option and using jQuery to check the users role, but that is more effort to maintain. Any thoughts?

The ultimate goal is to have 1 form where people can sign up for many events at once, and come back and sign up for other ones later, with one payment. We looked at CiviEvent Shopping Cart but it has some significant design flaws currently.

  • 1
    how did you go with this? 2 separate forms?
    – petednz - fuzion
    Oct 3, 2017 at 23:50
  • I just made a Drupal view which listed out the 5 CiviEvents with separate register buttons. We abandoned the idea of letting people buy them ala cart. I'd love to have that feature, though! We looked into the Civi shopping cart system but felt there were too many rough edges to go with it.
    – Zachary
    Oct 5, 2017 at 0:12
  • 1
    I can demo to you how we are approaching this some time if you want. Webform allowing myltiple people to be registered for myltiple events, and not all for all same events either, eg p1 for e2 and e3, and p2 for e1 and e3, and p3 for e1, e2, e3 - has a LOT of conditionals on it
    – petednz - fuzion
    Oct 5, 2017 at 4:06
  • Petednz I'd love that. Can I tip you somehow?
    – Zachary
    Oct 6, 2017 at 4:40
  • sure we can figure out something - what timezone are you in? 12 hours or so from now might work (Saturday morning here then) peter.davis59 if skype works for you, or ping me via chat.civicrm.org
    – petednz - fuzion
    Oct 6, 2017 at 7:19

2 Answers 2


There are ways in which to do discounts in webform civicrm - conditionals / fields using native webform fields and native webform conditionals.

In your specific case an easy way to handle this would be to have two webform civicrm forms - one with member pricing and one with non-member pricing [you can set the Amount fields to what you need it to be] and then use the native drupal permissions to show/hide (visibility settings) a block that links to the proper form.

So if you're logged in as a member and have a member role -> show member register block; if you're not logged in -> show non member register block.

And yes you can sign up for more than one event using webform civicrm effectively creating a shopping cart; the only issue there is that the CiviCRM GUI does not understand you can pay for 2 or more events with 1 payment (so it will look like you paid too much for each individual event);


According to the wiki Webforms do not support CiviCRM price-sets or discount codes. You could try creating an issue and asking what it would take to get CiviDiscount supported.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.