I have a golf Tournament with a semi-complicated event contribution structure.

We have sponsor levels - Gold (10K), silver (5K), bronze (1K) and people give donations not just at those levels, but also in between - say $2,500.

For each donation level, I need to collect company info and participant info

For instance, Gold Level would get Main Event Signage (need Logo & Display Name), T/Hole-signs (Display name), and every $1,000 in contributions provides one participant (named with handicap) - but they do not have to use all spots.

How do you recommend it best to do this in Civi? Should I set up a separate contribution page from participant registration and send registered sponsors 'discount codes' to use to register players? Can I do it all through the event registration page?

I've been using civi for a while for simple needs - this is far more complicated than I've done in the past.

Thanks for any recommendations!

Edit -

I am using Wordpress with Civi 4.6

I assumed I could have a company & company contact responsible for payment with forms available for the other items based on sponsorship level. (They would choose silver level and then be asked for 5 golfers & the signage text) But it doesn't require this...

  • are they paying at time of registering, or pay later? is this Drupal CMS or something else? collecting Org info for a participant does have afaik an easy out of box solution (unlike Contribution Pages) wish it did, ie that the 'on behalf of' feature worked for Events to. in drupal you can sidestep some of the issues using a webform-civicrm form
    – petednz - fuzion
    Feb 24, 2016 at 1:06
  • Unfortunately, we're tied into wordpress and there has not been much movement toward the creation of a webform-civicrm functionality that works across CMS's.
    – Ben
    Feb 24, 2016 at 2:57

1 Answer 1


I think the discount codes is a good approach. To do this all on one page would require either webform_civicrm for Drupal, which you don't have, or to write an extension.

If you write an extension, I'd use hook_validateForm to make the Logo/Display Name optional/required, based on their level. The same hook would also allow you to set a maximum number of additional participants to register. You can also add a jQuery script with hook_buildForm for niceties like adding/removing an asterisk as fields become required/optional, but you still need server-side validation for security purposes.

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.