Races Marathon · Traverse City, USA
Bayshore Marathon
Bayshore Marathon is a flat marathon in Traverse City, USA, held each May. Flat out-and-back along Grand Traverse Bay — small-town Michigan speed. Late May is 8-17C. On a course as flat as Bayshore Marathon, even splits are everything; the classic mistake is banking time in the first third.
Page rebuilt 2026-10-01 · race facts not independently verified — confirm dates and entries on the official race site
When
May
every year
Course
flat
Marathon
Conditions
Late May is 8-17C.
Racing this course well
Flat out-and-back along Grand Traverse Bay — small-town Michigan speed.
On a course as flat as Bayshore Marathon, even splits are everything; the classic mistake is banking time in the first third.
Pick your goal for Traverse City
Pace charts, weekly structure and timelines for the most common marathon goals:
We don’t hold a confirmed date for this edition, so any countdown comes from the date you enter here.
Build your training around Bayshore Marathon.
RunV works backwards from race day to today and rearranges the weeks when life interrupts. It does not adapt to this specific course — the pacing guidance above is where the course knowledge is.
Everything above stays free and complete — this is an optional next step, not a paywall.
Asked often
- When is the Bayshore Marathon?
- It is held each May in Traverse City, USA. Check the official Bayshore Marathon site for the exact date and entry windows.
- Is the Bayshore Marathon course flat?
- Flat out-and-back along Grand Traverse Bay — small-town Michigan speed.
- How should I train for the Bayshore Marathon?
- Train specifically for Traverse City — terrain, conditions, goal pace — and let the plan flex around real life. That's exactly what RunV's engine does after every run you log.
Not sure what to target? Predict your marathon time from a recent race →
More marathon races
Build for Traverse City — around your actual life
RunV engineers your block backwards from race day in May — and rebuilds it every time training doesn't go to script.
