A guide to bulk uploading offline registrations or leveraging Promo Codes to meet your offline registration needs for GC Events.
Within GC Events, you have two options for adding offline registrants:
- Bulk Upload of Offline Registrations
- Individual Offline Registrations with Promo Codes
Bulk Upload of Offline Registrations
Offline registrations can be created in bulk in your GC Event by uploading a CSV file with your offline registrants' details. These registrations will be marked 'offline' in your event reporting and will count toward any registration and ticket limits.
- From the Offline Registrations tab within your GC Event, click the “Upload Offline Registrations” button.
- Download the CSV that is specific to the event in which you’re working - it’s already in the necessary structure and format for your upload.
CSV formatting requirements (ticket types and affiliations)
To avoid upload errors, ensure these columns are formatted precisely as follows:
-
Ticket types: Names must exactly match those configured in your event. Every space, capital letter, and punctuation mark must be identical. For example, use
Single Playerinstead ofteam of 1. -
Affiliations:
- Format affiliations as
Label:Value(for example,Alumni:2020). - For Alumni, use
Alumni:####, where #### is the class year. - Separate multiple affiliations with commas.
- If an affiliation includes several values, separate them with dashes (for example,
Parent:2018-2019-2020). - Ensure that spaces, capitalization, and punctuation match exactly.
- Format affiliations as
- Required columns: Fields marked with an asterisk (*) in the column headers are mandatory.
-
Where to find the exact values: Refer to the Formatting Instructions during upload for the precise values required.
use the formatting instructions panel for exact values
- Click the Formatting Instructions panel during upload to view the precise formatting requirements.
- The panel displays each ticket type and affiliation label exactly as required. Copy values directly to avoid typos or formatting errors; do not type them manually.
Important details and common gotchas
- Affiliation entries must use the exact Label:Value format (for example, Alumni:2032). Variations in punctuation, spacing, or capitalization will cause validation errors.
- For registrants with multiple affiliations, separate values with commas and ensure each entry follows the exact Label:Value format (for example, Alumni:2032,Parent:2019-2020).
- Hidden characters or extra spaces can cause failures. Paste values into a plain-text editor (like Notepad) before adding them to your CSV to remove any unwanted formatting.
- If you see an "invalid ticket type" or "invalid affiliation" error during import, reopen the Formatting Instructions panel, copy the exact string shown, and update your CSV accordingly.
quick checklist before uploading
- Open the Formatting Instructions panel and copy each ticket type and affiliation value.
- Paste these values into your CSV using a plain-text editor to eliminate hidden formatting.
- Verify that affiliation cells follow the exact Label:Value format (e.g., Alumni:2032).
- When re‑uploading, include only new or previously failed rows to avoid duplicate registrations.
Tip: Copy ticket type names and affiliation labels directly from the on-screen options to avoid typos or extra spaces.
-
Ticket types: Names must exactly match those configured in your event. Every space, capital letter, and punctuation mark must be identical. For example, use
- Enter your offline registration data into the CSV file, adhering to the file’s existing structure and formatting.
- Tip #1: Click into the Formatting Instructions to review the requirements and see the available activities and ticket types exactly as they should be written in your file.
- Tip #2: There's a Notes column available in the CSV file where you can include details like who else this registrant is coming with, why this registrant was added as an offline registrant, etc.
- Upload your CSV file.
- (optional): Check the box if you’d like to automatically send registration confirmation emails to registrants upon successful import.
- Download the CSV that is specific to the event in which you’re working - it’s already in the necessary structure and format for your upload.
- Click “Upload”. The import may take 15-30 minutes to process.
- Review the data as it’s been imported from your CSV file to check for accuracy.
- Note that once a registration has been confirmed and uploaded, it is not currently possible to remove that registration from the system. You CAN adjust registrant details, change RSVP status, and remove activities and add-ons once uploaded, but you won't be able to add any Paid activities or add-ons at that point without collecting additional payment.
- Select "This Looks Good" to finish the import, or "Something's off. I need to try again" to return to the upload screen to revise and try again.
Reviewing Offline Registration Imports
Troubleshooting CSV Upload Errors
Event Ticket Type Column Errors
If you receive an "invalid ticket type" error when uploading offline registrations, the most common cause is incorrectly formatted ticket type names in your CSV.
How to find the correct ticket type name:
- Download the CSV template specific to your event from the Offline Registrations tab
- Click "Formatting Instructions" to see the exact ticket type names as they should appear
- Copy the ticket type name exactly as shown in the instructions
Common formatting mistakes:
- Including extra characters like parentheses or numbers:
Women of Hockey Event (1)❌ - Correct format:
Women of Hockey Event✅ - Typos or slight variations in spelling
- Extra spaces before or after the ticket type name
Best practices:
- Always copy ticket type names directly from the Formatting Instructions
- Avoid manually typing ticket type names
- Double-check for hidden characters if copying from other sources
- Use only the ticket type names that exist in your event setup
Verifying Your CSV Before Upload
Before uploading your offline registrations:
- Cross-reference all ticket type names with the Formatting Instructions
- Ensure all required fields are completed (marked with * in the instructions)
- Make sure you don't have any blank columns or blank rows in the file
- Save your CSV in the proper format
Affiliation‑restricted ticket types and offline imports
When you import offline registrations via CSV, each row creates a registrant record with a single attendee. Offline imports do not support multiple-guest structures, which is important for ticket types that enforce affiliation restrictions.
- Ticket types that use guest-level affiliation restrictions (those based on an individual guest’s affiliation) cannot be used with offline registrations. Offline CSV imports do not create guest records, so they lack the required individual guest affiliation data.
- Only ticket types that enforce registrant-level affiliation restrictions work with offline imports. The registrant record created during import includes the affiliation fields needed to meet these restrictions.
Why this happens
- Guest-level affiliation checks depend on separate guest records that include their own affiliation data. Since the offline importer creates only registrant rows, it cannot evaluate guest-level restrictions.
Practical workarounds
-
Create a hidden ticket without affiliation restrictions for offline use
- Add a ticket type that has no affiliation restriction and mark it as hidden from public checkout. This ticket can be used for offline CSV imports to ensure successful registrant entry while still counting toward capacity and reporting.
-
Import the registrant via CSV and add guests afterward
- Upload the primary registrant rows (with registrant-level affiliation data) via CSV, and then use the event’s backend registration tools to add additional attendees manually, as needed.
-
Use promo codes when guest-level affiliation restrictions are required
- If guest-level restrictions must be enforced at checkout, use promo codes. This method creates guest records with the necessary affiliation details.
Checklist for affiliation-related import errors
- Verify that the ticket type uses registrant-level rather than guest-level affiliation restrictions.
- If the ticket type is guest-level restricted, apply one of the workarounds above before importing.
- If using the hidden ticket method, reconcile reporting and ticket naming so that imported rows are clearly identified.
What to expect in reports and seat counts
- Registrations imported via CSV appear as offline registrations and count toward ticket limits, regardless of the chosen workaround.
Summary
- Offline registrations create registrant records only, not guest records.
- Ticket types with guest-level (individual) affiliation restrictions are incompatible with offline imports.
- Only ticket types with registrant-level affiliation restrictions function properly with offline CSV imports.
- Consider using a hidden, unrestricted ticket, adding guests later via the backend, or using promo codes for workflows that require guest-level restrictions.
- Upload only new registrations to avoid duplicates
Understanding duplicate detection for offline uploads
When you upload offline registrants via CSV, the system checks the 'Registrant Email*' field against emails already registered for the event. If an email in your CSV already exists—either from a previous registration or because the file was uploaded more than once—it is flagged as a duplicate.
Guest registrations and shared email addresses
When multiple people from the same household want to attend but share a single email address (for example, couples or families), each individual must be entered as a separate row in the CSV file. The CSV structure requires one registrant per row; there are no guest columns within a single record.
Examples:
- Single household with one email (couples or families): Create separate rows for each person. Use the shared email address in the Registrant Email* column for every row. The system will flag these as potential duplicates during upload, but you can proceed if these are legitimate individual attendees.
- Separate registrants with unique confirmation emails: Create individual rows and use a unique email address in the Registrant Email* column for each person.
Important points:
- Each attendee must have their own row in the CSV; there is no way to group multiple guests in a single row.
- If you want each attendee to receive a confirmation email, provide a unique email address in the Registrant Email* column for each row. (Alternatively, you can use the optional checkbox on the upload screen to send confirmation emails.)
Troubleshooting tips:
- If a row is flagged as a duplicate unexpectedly, verify the Registrant Email* field, as it is the only column used for duplicate detection.
- When correcting and re-uploading, include only the rows that previously failed to avoid duplicate registrations.
How it works:
- The system compares the email provided in the 'Registrant Email*' field with those already registered for the event.
- A match will flag the registration as a potential duplicate.
Best practices to avoid duplicate flags:
- Upload only new registrations and remove previously imported records before uploading again.
- Double-check your CSV file for any duplicate email addresses.
- When re-uploading after making corrections, include only the rows that previously failed to import.


Individual Offline Registrations with Promo Codes
Example Process:
Use Case A: VIP Guests
- Create a promo code and name it something like ‘vipattendees2024’.
- Create a percentage-based discount set at 100%.
- Set a start and end date for validity that makes sense for your team.
- Make sure “Include event Add-Ons and Activities in discount?” is checked.
- Go through the registration process as though you were the president, inputting any required fields and entering the promo code at checkout.
Use Case B: Paying By Check
You have guests who prefers to pay the old-fashioned way by mailing a check, and you’d like to have them appear on the public guest list and be able to record their attendance at check in. Check and check!
- Create a promo code and name it something like ‘paidbycheck’.
- Create a percentage-based discount and set it at 100%.
- Set a start and end date for validity that makes sense for your team.
- Make sure “Include event Add-Ons and Activities in discount?” is checked.
- Go through the registration process as though you were the registrant, inputting any required fields and entering the promo code at checkout.

FAQ:
-
How can I identify these offline registrations in reporting?
- For registrations created by Promo Code: Use the Registrations Report and filter using the promo_applied. This will show all registrations entered using the promo code you selected for this type of offline registration.
-
Can guests added offline be grouped together into a single registration?
- No, not at this time.
Detailed Duplicate Detection Logic
To further clarify how duplicate detection works during your offline registration upload, note the following points:
-
The primary check uses the Registrant Email* field. When you upload a CSV file, the system builds an index of existing event registration emails (via a process similar to using event_registrations.pluck(:email).index_by(&:itself)). If the email in a CSV row matches any email in this index, the record is flagged with
potential_duplicate: true. -
In cases where constituent IDs are available and properly mapped, the system also compares these IDs against existing records. This additional check helps identify duplicates even when the same email might be associated with different constituent IDs.
-
Keep in mind that a duplicate flag can appear even if a registrant is listed only once in your upload file, as long as their email matches an already registered email. Moreover, if you have previously uploaded similar CSV files, those successful uploads might also trigger duplicate warnings.
-
False duplicate matches can sometimes occur due to inconsistencies in constituent data (for example, if the same email is tied to multiple constituent IDs). Understanding these nuances can help you review flagged entries more effectively and decide whether a duplicate is genuine or a false positive.
This detailed explanation should help you troubleshoot cases where registrants are flagged as duplicates even when they appear only once in your upload file.
Moving Attendees from Cancelled Events
If an event is cancelled but some registrants have already paid, you can transfer these attendees to a new event without collecting payment again. Since offline registrations do not require payment collection through GiveCampus and the offline registration process does not generate payment records, you simply add these attendees as offline registrants using the standard CSV upload or individual registration process.
When you transfer these paid attendees, they will automatically be marked as "offline" in event reporting and will count toward registration and ticket limits like regular offline registrants. Importantly, the original payment from the cancelled event remains unchanged, so no refund processing or duplicate payment collection is necessary.
To move attendees from a cancelled event:
- Export the list of paid attendees from the cancelled event.
- Prepare a CSV file using the offline registration format, ensuring that you do not re-collect payment data.
- Upload the CSV using the offline registration process; the system will mark these entries accordingly.
- Verify in your event summary that the transferred registrants are correctly reflected in the reporting.
This method allows you to smoothly transition attendees from a cancelled event to a new one while maintaining accurate financial and registration records.
Troubleshooting: character encoding and CSV uploads
If your CSV matches the formatting instructions but still triggers errors (such as "invalid ticket type"), the file’s character encoding might be the issue. Follow these steps to avoid encoding problems:
-
Save your CSV with UTF‑8 encoding before uploading
- Re-export your CSV using a UTF‑8 encoding option to ensure the file meets the requirements.
-
Why encoding matters
- Ticket type names that look correct may be rejected if they contain hidden characters from non‑UTF‑8 encoding. Special characters like ampersands, accented letters, or smart quotes are common culprits.
- Mixing character sets (for example, Windows‑1252 with UTF‑8) may cause silent corruption that disrupts exact string matching.
-
Quick checks and fixes
- If ticket types with special characters (like "&") fail validation, re‑export the CSV as UTF‑8.
- Paste ticket type and affiliation values into a plain‑text editor (such as Notepad on Windows or TextEdit in plain‑text mode on macOS), then save the file as UTF‑8.
- Avoid copying values directly from rich text sources (e.g., Word, PDFs) to prevent hidden control characters from being included.
-
How to export as UTF‑8 from common tools
- Microsoft Excel (Windows): File → Save As → choose "CSV UTF-8 (Comma delimited) (*.csv)".
- Microsoft Excel (macOS): File → Save As → choose "CSV UTF-8 (Comma delimited)" if available; otherwise, export and then re-save the file as UTF‑8 in a plain‑text editor.
- Google Sheets: File → Download → Comma‑separated values (.csv, current sheet). The downloaded file is UTF‑8 encoded.
- LibreOffice/OpenOffice: File → Save As → select "Text CSV (.csv)" and check the option for UTF‑8 encoding.
-
When to re‑export vs. when to edit
- If only a few rows have issues and contain special characters, re‑exporting the entire file as UTF‑8 is the safest option. Manually editing characters without ensuring proper encoding might leave hidden mismatches.
-
Final verification before upload
- Open the UTF‑8 CSV in a plain‑text editor to confirm that all characters display correctly and there are no unexpected substitution symbols (e.g., �). If issues are found, re‑export the file as UTF‑8.
- After re‑exporting, upload only the rows that previously failed to avoid creating duplicates.
Following these steps for UTF‑8 export and verification resolves most validation errors associated with special characters and encoding during offline registration imports.
Comments
0 comments
Article is closed for comments.