How to create and deploy promo codes to your GC Events - both simplex and complex - to create opportunities for discounts, comped tickets, to log offline registrations, etc.
It’s easy to create promo codes in GC Events for both simple and complex events. The possibilities are endless: early bird discounts, milestone class year discounts, fully comped tickets, and more. Promo codes are one way to log offline registrations for people who pay by check or are VIPs that you won’t expect to register online but are planning to attend. Learn more about entering offline registrations here.
How it works:
- You can create as many promo codes per event as you like
- Promo codes can either be a percentage or total dollar amount reduction
- You can assign (and change) a start and end date between which registrants can access each code—so you can “set it and forget it”
- Registrants can only apply one promo code per order
- For complex events, you will determine if a promo code applies to the overall ticket cost only or the activity and add-on cost as well.
Setting up your promo codes:
Promo codes can be established during the creation of a new event or after the fact. Navigate to Edit Event > Promo Codes. Here, you can create new promo codes and adjust existing ones.
Settings per promo code:
Fields marked with * cannot be changed once the promo code has been used (even as a test registration) or has been applied to a ticket that is reserved in someone’s cart. The best way to test promo codes is to clone your event and register in that clone, as you won’t be able to make substantive changes to your promo codes after they have been used.
- Promo code name*
- This shows up in the Registrations Report and is what the registrant will enter at the payment step. We recommend choosing a name that is both helpful for your team and appropriate for registrants. 🔔 Promo code names must be unique within the event.
- Description
- Optional field that is only visible to GC Events admins.
- Discount Type*
- Choose between a percentage or dollar amount off.
- Discount Percent / Amount*
- 🔔 The total amount a registrant pays can never be less than $0.00. If a total dollar amount discount brings the total to less than $0.00, it will just be $0.00.
- 🔔 Stripe does not allow charges less than $0.50. If the amount of the registration fee (not including any donations) is less than $0.50, we will round down to $0.00.
- Start Date
- From which date/time the code is valid.
- End Date
- At which date/time the code is no longer valid.
- Limit
- You can optionally set the maximum number of times an individual promo code can be applied. This number can be changed after the fact to be bigger, but you won’t be able to make the limit smaller than the number of times it has already been used.
- Ex. You run a promotional campaign where the first 100 people who sign up for your Homecoming event get a 20% discount. You would set the limit for that promo code to 100.
- You can optionally set the maximum number of times an individual promo code can be applied. This number can be changed after the fact to be bigger, but you won’t be able to make the limit smaller than the number of times it has already been used.
-
For Complex Events Only:
- Include event Add-Ons and Activities in discount*
- You can choose whether the discount should apply to only the overall ticket fee or fees associated with add-ons and activities as well.
- Ex. Your complex event has a ticket cost of $100 per attendee. Someone registers themselves plus one guest for $200 plus an additional $50 in activities and add-ons. They utilize a promo code offering a 20% discount.
- If the checkbox is selected, their discount will be $50 (20% off $250)
- If the checkbox is not selected, their discount will be $40 (20% off $200)
- Ex. Your complex event has a ticket cost of $100 per attendee. Someone registers themselves plus one guest for $200 plus an additional $50 in activities and add-ons. They utilize a promo code offering a 20% discount.
- You can choose whether the discount should apply to only the overall ticket fee or fees associated with add-ons and activities as well.
- Include event Add-Ons and Activities in discount*
Where the promo code field appears (and when it won't)
The promo code field appears only on the payment panel during checkout. Registrants must reach the payment step to see it.
FAQ — Can a registrant apply more than one promo code to a single registration?
No. A registration can only have one promo code applied. At checkout, the promo code field displays a single input labeled "Promo Code (Optional)" with the placeholder "Enter promo code here" and an Apply button. Once a code is applied, the panel shows the applied code and its discount (for example, "10% off") along with a Remove Promo Code link. To use a different code, the registrant must remove the current code before entering a new one.
FAQ — Quick steps for changing the promo code during checkout
- Navigate to the payment step in the registration flow, where the promo code field appears.
- If a code is applied, click the Remove Promo Code link.
- In the empty "Promo Code (Optional)" input, type a new code and click Apply.
- The payment total will update to reflect the new discount (note that promo codes do not discount donation amounts).
- Exact UI labels: The field is labeled "Promo Code (Optional)" with the placeholder text "Enter promo code here."
- Active codes required: If no promo codes are active for the event, the field will not appear at checkout.
Troubleshooting: I don't see the promo code field
- Proceed to the payment step; the field does not appear earlier in registration.
- Ensure at least one promo code is active for the event. If none are active, the field is intentionally hidden.

Once applied, the payment total will update to reflect the discount. Registrants can choose to remove the discount if they wish. Discounts do not apply to any donations made at checkout.

The email confirmation will reflect the promo code applied and discount amount.
How Promo Codes Apply to Multiple Registrants
Percentage Discounts for Couples and Groups
When registrants register multiple attendees (like couples or foursomes) and apply a promo code, the discount applies to their entire order:
- A 20% discount applies to the total cost of all tickets in the order
- If someone registers themselves plus one guest at $100 per ticket ($200 total), a 20% discount saves them $40
- The discount percentage is calculated against the full order value, not per individual ticket
Alternative: Ticket Packages for Group Rates
For events with specific group pricing (like golf foursomes), consider using ticket packages instead of or in addition to promo codes:
- Create a ticket package that includes the desired number of attendees
- Set the package price to reflect your group discount
- Time-limit availability by setting start and end dates on the package
This approach provides more control over group pricing while accommodating early bird scenarios.
Allowing pay‑later registrations (golf outings, reunions, and day‑of payment)
Registrations with a price require a payment method during checkout. To reserve spots for attendees who plan to pay later, use one of the methods below:
Option 1: Add as an offline registrant (recommended)
Reserve spots without processing payment online:
- Navigate to Events > [Event Name] > Offline Registrations.
- Add registrants individually or upload a CSV to reserve multiple spots at once.
- Capacity tracking: Offline registrations count toward capacity limits and appear in reports.
Option 2: Create a 100% promo code for specific registrants
Generate a promo code that fully discounts the registration so invitees can complete their details without making an online payment:
- $0.00 checkout: A promo code set to 100% discount results in a $0.00 total at checkout.
- Targeted access: Share the code only with registrants who will pay later.
Reminder: If a ticket has a price, the checkout process expects a payment method. To enable pay‑later registrations, either add registrants offline or use a 100% promo code.
Testing Promo Codes and Payment Functionality
How to Test Promo Codes Without Affecting Live Events
To test promo codes and payment processing without creating permanent registrations in your live event:
Option 1: Clone Your Event for Testing (Recommended)
- Clone your event to create a test version
- Publish the cloned event for testing purposes
- Register and test promo codes in the cloned event
- Delete or archive the test event after verification
- Make any needed adjustments to promo codes in your live event
Option 2: Publish Your Event Temporarily
- Publish your event to enable payment processing
- Test registrations and promo codes
- Cancel/refund any test registrations
- Return event to draft status if not ready for public registration
Important: You cannot test payment processing or promo codes in preview mode. Events must be published for payment functionality to work.
Promo Code Scope and Event Restrictions
Automatic Event Restriction:
- Promo codes are automatically restricted to the specific event where they are created
- A promo code created in "Alumni Awards Dinner" will ONLY work for that event
- The same promo code name can be used in different events without conflict
- No additional configuration is needed to limit promo codes to one event
Example Scenario:
- You create promo code "WINNER25" in your Alumni Awards Dinner event
- You also have a Homecoming Tailgate event during the same weekend
- Registrants can only use "WINNER25" when registering for Alumni Awards Dinner
- The promo code will not work for Homecoming Tailgate registrations
- You could create a separate "WINNER25" code in the Tailgate event if desired
Managing Multiple Events:
- Each event has its own separate promo code system
- Promo code names must be unique within each individual event
- The same promo code name can exist across multiple events
- This ensures awards, discounts, and special pricing apply only to intended events
Reporting:
We added two columns to the Registrations Report: promo_applied and promo_discount. Promo_applied is the name of the promo code, and promo_discount is the amount actually discounted. (This may not equal the dollar amount you set for the discount, if that dollar amount would bring the total payable below $0.00.)
These data points are also available in the API. Read more about your GC Events Reporting options here.
FAQs
-
Q: Can I remove a promo code?
- A: If it hasn’t been used yet, you may delete a promo code. If it has been used, you may deactivate it. Deactivating a code changes the end date to the current date and time so it can no longer be used.

-
Q: What happens if one of my constituents tries to use a code that’s no longer active, misspelled, or otherwise not valid?
- A: They will see an error message: ‘invalid promo code’
-
Q: How can I see how many people have used a promo code?
- A: Go to the Registrations Report for the event, where we have added columns for promo_applied (the code name) and promo_discount (the reduction amount). You can filter on promo_applied to see how many registrations a code has been applied to.
-
Q: Can I apply a promo code to an existing registration through the admin view?
- A: No, not at this time. Promo codes can only be used during the primary registration flow.
-
Q: Can I create a promo code that is applicable only to a specific activity, ticket type, or add-on?
- A: No. Discounts can only be applied to the whole order (including all guests) or the event-level tickets (excluding all add-ons and activities).
-
Q: Are the promo codes reporting data points available via the API?
- A: Yes!
Q: I want to offer the first N tickets free (e.g., first two tickets free per registrant) and charge for additional tickets. What's the recommended way to set this up?
A: GC Events does not provide a native "first N free" pricing tier. Use one of the following workarounds:
Option 1: Dollar-amount promo code (recommended for a single code covering the free seats)
- Set up your paid ticket type at the standard price (e.g., $25 per person) under Edit Event > Ticketing.
- Create a promo code that discounts the full value of the complimentary tickets (e.g., for two free $25 tickets, create a $50 discount) under Edit Event > Promo Codes.
- Use these promo code settings:
- Discount Type: Dollar
- Discount Amount: Value covering the complimentary tickets
- Limit: Set to cap overall usage if needed
- Clearly explain in the ticket description how and when to apply the code (e.g., "Apply code TWOFREE at checkout to receive two complimentary tickets").
Option 2: Two ticket types (recommended for registrants to self-select free versus paid seats)
- Create one ticket type priced at $0 (e.g., "Complimentary Ticket — limit 2") and a second ticket type at $25 (e.g., "Additional Ticket") under Edit Event > Ticketing.
- Use ticket descriptions to clarify the policy and limits (e.g., "Please choose up to two Complimentary Tickets per registrant").
Key caveats:
- Only one promo code is allowed per order. If multiple discounts are needed, only a single code will be applied.
- The Limit field on a promo code caps total event-wide uses. For example, setting Limit = 1 allows only one use across all orders, not per registrant.
- Dollar-amount promo codes will floor the order total at $0.00; discounts cannot make the total negative.
- Fields marked with an asterisk in the promo code form (Promo Code Name, Discount Type, and Discount Amount) become fixed once the code is used. Test promo codes in a cloned event before going live.
- Registrants must reach the payment panel to enter the promo code, which appears as Promo Code (Optional) with the placeholder "Enter promo code here."
Reporting and reconciliation:
- Use the promo_applied and promo_discount columns in the Registrations Report to review which codes were used and the applied discount amounts. The displayed discount may be lower than the code’s face value if applied discounts reduce the total to $0.00.
Which approach should I choose?
- Choose the dollar-amount promo code if you prefer a simple, single-code experience for all invitees.
- Choose the two ticket types if you want registrants to decide between complimentary and paid seats and prefer to avoid promo-code complexity.
Q: Why is the "Include event Add-Ons and Activities in discount" checkbox (or other promo-code fields) grayed out and uneditable?
A: Certain promo-code fields become permanently locked once the promo code has been used on any registration. The affected fields are: Promo Code Name, Discount Type, Discount Amount, and the checkbox labeled "Include event Add-Ons and Activities in discount".
-
Exact checkbox label: "Include event Add-Ons and Activities in discount". The accompanying help text is: "Clicking the checkbox above will include any Add-Ons and Activities registrants add as part of the discount offered by the promo code." Note that this option appears only for Complex events.
-
Field lock criteria: Once a promo code has ever been used (including test registrations or reserved tickets), these fields become locked and cannot be edited.
-
If you see a grayed-out checkbox on a new promo code: Check your event type. The checkbox is only available for Complex events. A missing checkbox may indicate the event is Simple rather than a locked promo code.
Workarounds and next steps
-
If the promo code has not been used: Delete the unused code and create a new one with the desired settings. (Note: deletion is only allowed while the promo code remains unused.)
-
If the promo code has been used: The fields cannot be edited. Instead, create a new promo code with the correct settings and deactivate the old one to prevent further use.
Related notes
- The guidance that "Fields marked with * cannot be changed once the promo code has been used (even as a test registration) or has been applied to a ticket that is reserved in someone's cart" applies here as well.
Where to find promo codes:
- Navigate to the event admin and select Edit Event > Promo Codes from the event's admin sidebar.
FAQ — Why does a registrant see "Invalid promo code"?
When a registrant sees the "Invalid promo code" error on the payment panel, it means the system did not find an active match for the text entered. Use the steps below to diagnose and resolve the issue.
Possible reasons
- The promo code does not exist for that event. Promo codes are event-specific.
- The promo code is not active: its Start Date is in the future or its End Date has passed.
- The promo code’s usage Limit has been reached. Once the set number of uses is met, no further registrations can apply the code.
- The promo code was mistyped. The system ignores case and extra spaces, but all other characters must match exactly.
Diagnosis steps using the admin UI
- Open the event in admin and go to Edit Event > Promo Codes.
- Locate the promo code entered by the registrant and verify:
- The Start Date is in the past.
- The End Date is either blank or set to a future date and time.
- If a usage Limit is set, check the Registrations Report (filter on promo_applied) to confirm that the number of uses has not met or exceeded the Limit.
- If any check fails, update the promo code accordingly:
- Set the Start Date to an earlier time and the End Date to blank or a future date for immediate use.
- Increase the Limit if more uses are needed. (Note: You cannot reduce the Limit below the current usage count.)
- Save your changes, then test the promo code in a cloned event (clone, publish, and register) to verify the fix.
Quick checks before replying to a registrant
- Verify that the code’s characters are correct; extra spaces are automatically trimmed.
- Confirm the End Date and usage count if the code worked before but now appears invalid.
- Ensure the code is being used in the correct event.
- Note that a promo code without an End Date never expires automatically; a persistent error may indicate an exhausted Limit or a future Start Date.
Comments
0 comments
Article is closed for comments.