How to Set Up Registration for a Running Race: Marathon, Half Marathon, 10K and 5K

It is 6:15 on race morning. The 10K is sold out, a runner at the kit desk swears she registered for the half, and the medical tent wants to know who has an emergency contact on file. Every one of those problems was decided weeks earlier, when the registration form was built.
A road race looks simple from the start line: runners show up, run, and finish. Behind it sits a form that handles several distances at different prices, a safety record for every runner, and a check-in that does not turn into a queue. This guide shows how to set that up for a 5K, 10K, half marathon or marathon, and which choices save you the most work on race week.
Start with your distances
Most road races offer a ladder of distances so that first-timers and experienced runners can share one event: a 5K or fun run, a 10K, a half marathon (21.1 km) and a marathon (42.2 km). Each distance behaves like its own small race. It has its own capacity, its own start time and its own price, so treat them as separate categories inside one event rather than separate events.
Decide capacity per distance before you decide anything else. The marathon is usually limited by road closures, aid stations and permits, while a 5K can often take far more people. Setting a cap for each distance up front stops one popular distance from eating the entry numbers of the others.
Price in tiers, not one flat fee
Early-bird pricing does two jobs. It rewards runners who commit early, and it gives you cash flow while you are paying for medals, shirts and road permits. A common pattern is three steps: an early-bird price, a standard price, and a late price in the last two weeks. Give each tier an opening and closing date, and a capacity if you want to limit how many runners get the cheapest rate.
Keep one or two tickets out of public view. Sponsors, club leaders, elite runners and invited guests often need a place without going through the public queue. A hidden ticket that opens only with a code or private link lets you do that without creating a second event.
Collect what you need, and only that
At minimum a road race needs the runner’s name, phone number, date of birth, gender, T-shirt size, and an emergency contact. Date of birth and gender are what you use for age groups. The emergency contact and blood group matter on race morning if a runner is unwell, so make sure your medical team can see them in one list.
Beyond the basics, ask only questions you will act on. One of the most useful is expected finish time. If you run wave starts, that single answer lets you place runners in the right wave and keeps slower runners from being swept along by faster ones. Ask for it as a time (for example 52:10 or 1:45:30), not free text, so you never have to clean up answers like “about an hour”.
Every runner should also accept a waiver before paying. Use clear, versioned text, and keep a record of who accepted which version and when. If you change the wording later, the record of earlier entries should not change with it.
Plan for sell-outs and cancellations
Popular distances sell out, and some entrants drop out. A waitlist turns both into an advantage: when a place opens, offer it to the person who has waited longest and give them a fixed window to take it. It keeps your field full and your runners fairly treated.
Publish a refund policy before you open sales, with dates, not just a sentence. A tiered policy is easy to understand, for example a full refund until two weeks before the race and half until one week before. If you ever have to cancel the whole event, decide in advance how you will refund everyone and how you will tell them.
On race day
Your registration list becomes your race-day tool. You want to search it, filter it, and export it, including each runner’s emergency contact and blood group for the medical team. Assign bib numbers per runner, add people who registered offline, and check runners in as they collect their kit. If runners enter as a club or a family, each person still needs their own bib and check-in.
In practice: a Saturday 10K with three distances
Example only. Imagine a Saturday event with a 5K, a 10K and a half marathon. You create one event with three distances, each with its own capacity, so a rush on the 10K cannot use up half marathon places. The half marathon gets an early-bird tier that closes a few weeks out, then a standard tier. You keep one hidden ticket for sponsors, opened by a private code. The half marathon form adds a time question for expected finish time. Every runner accepts the waiver, and the waitlist stays on for the 10K.
On race morning you open the registration list, filter by distance, export the CSV for the medical team, and check runners in one by one.
Common mistakes
- One price for the whole season. You lose the early cash flow and the urgency that drives early sign-ups.
- No cap per distance. A sell-out in the 10K should not use up places meant for the half marathon.
- Asking for too much. Long forms lose runners at checkout. Ask for what you will use.
- No emergency contact on file. You will only notice on the day a runner needs help.
- A refund policy that appears after sales open. Publish it first and link it from the event page.
Quick answers
What if a runner types “about an hour” as a finish time?
A time question rejects anything that is not a time, so you only get answers like 52:10 or 1:45:30.
How does the waitlist work?
It is on by default. When a place opens, it is offered to the person who has waited longest, with a 24-hour hold.
Can I keep a place for a sponsor?
Yes. A hidden ticket opens only with a code or private link, so it stays out of the public queue.
What happens to refunds?
Set a tiered cancellation policy, for example a full refund until two weeks out. Refunds inside it happen automatically.
Set it up on endurace.pro
endurace.pro handles each of these steps for running races:
- Several distances per event, shown in km or miles to match each athlete’s setting, each with its own price and capacity.
- Ticket tiers with early-bird dates, plus hidden tickets unlocked by a code or link.
- A mobile registration form that collects date of birth, gender, T-shirt size, blood group and emergency contact, and your own questions per distance, including a time question that rejects anything that is not a time.
- Waivers that keep the signed name, the time and the exact wording with every registration.
- A waitlist that is on by default and offers each free place to the person who has waited longest, with a 24-hour hold.
- A tiered cancellation policy shown on the event page, and automatic refunds inside it.
- A searchable registration list with CSV export (including safety information), bib assignment and check-in per person, and manual entries for people who register offline.

Ready to list your race? See how endurace.pro works for organizers. Want to see how running events look to athletes? Browse running races. Going live is free. You pay only when you sell.


