Joel Ruiz
- Shirt
- 74
- Age
- 20
- Country
- Switzerland
- Market value
- €982.3k
- Contract end
- 30 June 2030
Conference League Qualification qualification · 2026–2027
4Apps
3Starts
308Minutes
0Goals
1Assists
0Clean sheets
14Tackles
Rating
2026–2027 by competition
| Competition | Team | Apps | G | A | Rating |
|---|---|---|---|---|---|
Super League |
St. Gallen |
9 | 0 | 0 | |
Swiss Cup |
St. Gallen |
2 | 0 | 0 | — |
Europa League |
St. Gallen |
2 | 0 | 0 | — |
Conference League |
St. Gallen |
4 | 0 | 1 | — |
Recent matchesFull log →
| Date | Opponent | Result | Min | G | A | Rating |
|---|---|---|---|---|---|---|
16 Oct |
@ FC Rapperswil-Jona |
W 2–0 | 1 | · | · | — |
11 Oct |
vs Lausanne |
W 1–0 | 25 | · | · | |
20 Sep |
@ Basel |
W 3–1 | 45 | · | · | |
16 Sep |
@ Lugano |
L 1–4 | 61 | · | · | |
06 Sep |
@ Servette |
W 2–0 | 27 | · | · | |
02 Sep |
@ Grasshopper |
L 0–2 | 28 | · | · |
Player profile CB
Per-90 percentiles against centre-backs in Conference League Qualification qualification. 50 = average.
Market value€982.3k
Shooting
| Stat | Total | Per 90 | Percentile |
|---|---|---|---|
| Goals | 0 | 0.00 | 0 |
| xG | 0.03 | 0.01 | 79 |
| xG excl. penalty | 0.03 | 0.01 | 79 |
| Shots | 1 | 0.29 | 82 |
Passing
| Stat | Total | Per 90 | Percentile |
|---|---|---|---|
| Assists | 1 | 0.29 | 96 |
| xA | 0.37 | 0.11 | 97 |
| Accurate passes | 171 | 50.0 | 87 |
| Pass accuracy | 85.9% | — | 72 |
| Accurate long balls | 7 | 2.05 | 79 |
| Long ball accuracy | 35.0% | — | 69 |
| Chances created | 1 | 0.29 | 84 |
| Big chances created | 1 | 0.29 | 98 |
| Successful crosses | 1 | 0.29 | 96 |
| Cross accuracy | 50.0% | — | 97 |
Possession
| Stat | Total | Per 90 | Percentile |
|---|---|---|---|
| Dribbles | 1 | 0.29 | 92 |
| Dribbles success rate | 50.0% | — | 89 |
| Duels won | 30 | 8.77 | 100 |
| Duels won % | 68.2% | — | 89 |
| Aerials won | 8 | 2.34 | 94 |
| Aerials won % | 61.5% | — | 78 |
| Touches | 266 | 77.7 | 89 |
| Dispossessed | 0 | 0.00 | 100 |
| Fouls won | 7 | 2.05 | 99 |
Defending
| Stat | Total | Per 90 | Percentile |
|---|---|---|---|
| Defensive actions | 36 | 10.5 | 95 |
| Tackles | 14 | 4.09 | 99 |
| Interceptions | 1 | 0.29 | 68 |
| Blocked scoring attempt | 2 | 0.58 | 85 |
| Fouls committed | 3 | 0.88 | 15 |
| Recoveries | 14 | 4.09 | 90 |
| Dribbled past | 5 | 1.46 | 3 |
| Clearances | 19 | 5.55 | 94 |
| Clean sheets | 0 | 0.00 | 0 |
| Goals conceded while on pitch | 5 | 1.46 | 48 |
| xG against while on pitch | 5.76 | 1.68 | 8 |
Discipline
| Stat | Total | Per 90 | Percentile |
|---|---|---|---|
| Yellow cards | 0 | 0.00 | 100 |
| Red cards | 0 | 0.00 | 100 |
Percentiles are per 90 minutes, against players in the same position in Conference League Qualification qualification.
| Date | Opponent | Result | Min | G | A | Rating |
|---|---|---|---|---|---|---|
24 Oct |
@ Young Boys |
L 0–2 | Bench | · | · | — |
16 Oct |
@ FC Rapperswil-Jona |
W 2–0 | 1 | · | · | — |
11 Oct |
vs Lausanne |
W 1–0 | 25 | · | · | |
06 Oct |
@ France U21 |
L 1–7 | Bench | · | · | — |
20 Sep |
@ Basel |
W 3–1 | 45 | · | · | |
16 Sep |
@ Lugano |
L 1–4 | 61 | · | · | |
12 Sep |
vs Sion |
L 0–3 | Bench | · | · | — |
06 Sep |
@ Servette |
W 2–0 | 27 | · | · | |
02 Sep |
@ Grasshopper |
L 0–2 | 28 | · | · | |
30 Aug |
vs Thun |
L 3–4 | 90 | · | · | |
27 Aug |
vs Nordsjælland |
L 2–3 | 83 | · | · | |
20 Aug |
@ Nordsjælland |
L 0–1 | 90 | · | · | |
16 Aug |
@ FC Thalwil |
W 3–0 | 90 | · | · | — |
13 Aug |
vs FC Sheriff |
W 5–1 | 45 | · | · | |
09 Aug |
vs Luzern |
D 2–2 | 90 | · | · | |
06 Aug |
@ FC Sheriff |
W 3–1 | 90 | · | 1 | |
02 Aug |
@ FC Vaduz |
W 3–2 | 66 | · | · | |
30 Jul |
@ Benfica |
L 0–5 | 57 | · | · | |
26 Jul |
vs FC Zürich |
W 2–1 | 1 | · | · | — |
23 Jul |
vs Benfica |
W 2–1 | 1 | · | · | — |
24 May |
@ FC Stade Lausanne-Ouchy |
W 3–0 | 1 | · | · | — |
17 May |
vs Thun |
D 1–1 | 13 | · | · | |
14 May |
@ Basel |
W 3–1 | 90 | · | · | |
10 May |
@ Lugano |
W 2–1 | 45 | · | · | |
03 May |
vs Sion |
L 0–3 | 12 | · | · | |
26 Apr |
@ Young Boys |
W 2–1 | 8 | · | · | — |
19 Apr |
@ Yverdon |
W 2–0 | 90 | · | · | |
12 Apr |
@ Luzern |
D 2–2 | Bench | · | · | — |
06 Apr |
vs FC Zürich |
W 2–1 | Bench | · | · | — |
08 Mar |
vs Basel |
W 3–0 | Bench | · | · | — |
05 Mar |
@ Thun |
D 2–2 | Bench | · | · | — |
28 Feb |
vs Winterthur |
W 2–1 | Bench | · | · | — |
21 Feb |
@ Servette |
D 1–1 | 18 | · | · | |
18 Feb |
@ Winterthur |
W 5–1 | 6 | · | · | — |
14 Feb |
vs Grasshopper |
D 0–0 | 2 | · | · | — |
11 Feb |
vs Young Boys |
W 2–1 | 1 | · | · | — |
08 Feb |
@ Lausanne |
D 1–1 | Bench | · | · | — |
04 Feb |
vs Basel |
W 2–1 | Bench | · | · | — |
01 Feb |
@ Luzern |
D 2–2 | 1 | · | · | — |
25 Jan |
vs Servette |
L 2–4 | Bench | · | · | — |
| Season | Team | Apps | G | A | Rating |
|---|---|---|---|---|---|
| ▸ 2026–2027 | St. Gallen | 17 | 0 | 1 | |
| Super League | 9 | 0 | 0 | ||
| Swiss Cup | 2 | 0 | 0 | — | |
| Europa League | 2 | 0 | 0 | — | |
| Conference League | 4 | 0 | 1 | — | |
| ▸ 2025–2026 | St. Gallen | 17 | 0 | 0 | |
| Super League | 14 | 0 | 0 | ||
| Swiss Cup | 3 | 0 | 0 |
St. Gallen
| Competition | Won | Runner-up |
|---|---|---|
| Swiss Cup ×1 | 2025/2026 | — |

Super League
Conference League Qualification qualification
Europa League Qualification qualification






















