🎯 Need Help?

Get Premium Support

Priority assistance from the developer

⬆️ Upgrade

Unlock all features

More from ANWP

Sports Leagues Premium

Multi-sport league management with advanced statistics

Learn more →

AnWP SL Theme Kit

Starter themes & block patterns for Sports Leagues

Learn more →

Euro 2024 Knockout Stage

Pro Feature

UEFA Euro 2024 is the classic case of a tournament you import before its knockout draw exists. The group stage – 36 games in six groups – is on your site from day one. The Round of 16 pairs only appear at the provider after the last group games on 26 June, and you need those 8 games without touching anything already imported.

This walkthrough does it end to end on the real Euro 2024: pull in the Round of 16 with Discover New Games, drag the bracket into the official order, add every kick-off time so visitors see it in their own timezone, and put the bracket on the site. The same recipe fits the World Cup, Copa America, the Africa Cup of Nations or any cup whose draw arrives after the import – only the round names and the number of ties change.

The finished UEFA Euro 2024 knockout bracket on the front end: Round of 16, Quarter-finals, Semi-finals and Final columns joined by bracket lines, every tie carrying a clock line with its kick-off date and time, and scores filled in all the way to the final

It’s one of four real competitions set up step by step in API Import Use Cases.

What you need first

  • The competition, linked to the provider. UEFA Euro 2024 is a multistage competition. Its main stage, Group stage, is round-robin with Groups A to F, linked to the provider’s Euro Championship league, season 2024, with the group games imported. If you haven’t got that far, start with API Import for a Multistage Competition.
  • A knockout stage with its rounds already created. A second stage, Knockout phase, with Competition Type set to Knockout, Knockout Format set to single-leg ties, and four rounds named Round of 16, Quarter-finals, Semi-finals and Final. The import maps provider rounds onto rounds that exist, so a stage with only one round has nowhere to put the quarter-finals later. Each round comes with one empty tie, and that’s all it needs. See Multistage Competitions.
  • The competition saved to the Import Dashboard. On the API Leagues tab, the star on the league’s row is orange (tooltip remove from Dashboard). The Discover tab only checks competitions saved there.

🚀 Part 1 – Import the Round of 16

Step 1. Discover what’s new

Go to FL API Import > Discover New Games and click the Discover New Games button. The plugin works through every competition saved to the Dashboard, one at a time, and compares the fixtures the provider has now with the games already on your site.

The Discover New Games tab of FL API Import, with the Discover New Games button above a league table whose Euro Championship 2024 row reads not checked in the Status slash New Games column

Step 2. Check the count and open Modify Structure

When the check finishes, the Status / New Games column on the Euro Championship 2024 row reads 8 – the eight Round of 16 fixtures. Competitions with nothing new drop off the list. A Create Games button appears on the row, next to Modify Structure.

Don’t create the games yet. The Round of 16 isn’t mapped to anything on your site, so there’s nowhere to put them. Click Modify Structure.

The Euro Championship 2024 row after discovery, with 8 in the Status slash New Games column, a Create Games button and a Modify Structure button

Step 3. Map the Round of 16

The Edit Competition Structure modal lists every round of every stage. The Group stage row already holds its 18 provider rounds, Group A – 1 to Group F – 3. Leave them alone.

In the Knockout phase – Round of 16 row, pick Round of 16 from the dropdown. Provider rounds that aren’t on any row yet are counted in red next to the API Rounds heading, which is a quick way to spot a round you forgot. Leave Put all Teams into single table on No and click Next Step.

Step 1 of the Edit Competition Structure modal for UEFA Euro 2024: the Group stage row holding its eighteen group rounds, the Knockout phase - Round of 16 row holding Round of 16, the Quarter-finals, Semi-finals and Final rows below, and the Next Step button with the Put all Teams into single table toggle set to No

Pick the round yourself rather than pressing Set All on the Round of 16 row. Set All drops every unmapped provider round into that one row, so if the quarter-finals are already published they’d land in the Round of 16 too. Doing this later in the tournament, with more rounds out? Map each one to its own row now – one provider round per row.

Step 4. Update the competition structure

Step 2 shows what the plugin found. The six groups are set to Ignore, because they already hold their clubs. The Round of 16 row lists the eight ties, in the order the provider publishes them – Switzerland – Italy, Germany – Denmark, France – Belgium, England – Slovakia, Spain – Georgia, Portugal – Slovenia, Romania – Netherlands, Austria – Türkiye – with its toggle on Create.

Step 2 of the Edit Competition Structure modal: Groups A to F listed with their four clubs each and Ignore toggles, the Round of 16 row listing its eight ties with the toggle on Create, and the Previous Step and Update Competition Structure buttons below

Click Update Competition Structure. The modal closes with Competition Structure Updated. Behind it, the first pair went into the empty tie the Round of 16 came with, the other seven were added as new ties named Tie # plus a number, and the round mapping was saved. Any club new to your site would be imported here too – at the Euro all sixteen already exist from the group stage.

Step 5. Create the games

Back on the list, click Create Games on the Euro Championship row. A progress line counts up, then a message confirms 8 items were imported. The plugin then checks the competition again, and if all eight games were created, Euro 2024 disappears from the list.

The Create Games button highlighted on the Euro Championship 2024 row of the Discover New Games table, next to the new games count and the Modify Structure button

Games are only created for mapped rounds, and only where a tie holds both clubs. Nothing you imported before is touched, so running it again after every draw is safe.

The other route: from the API Leagues row

You can do exactly the same from FL API Import > API Leagues: the branching-arrow button on the league’s row opens a menu, and Add teams to groups/ties in it opens the same structure modal. The database button’s actions include Create Games. That route is written up in Add New Games to a Multistage Competition. Use it when you know which competition changed; use the Discover tab when you want the plugin to tell you.

🏆 Part 2 – Put the bracket in the right order

Open the competition page now and the bracket probably looks wrong. The Round of 16 comes out in import order, Switzerland – Italy on top, with a single empty box in each later round.

The Euro 2024 bracket on automatic right after the import: the Round of 16 column in import order starting with Switzerland against Italy, and one empty box each in the Quarter-finals, Semi-finals and Final columns

That’s not a bug. On manual, ties are drawn in the order they were created, which is the provider’s order. On automatic, each round is lined up with the round after it, working back from the latest round whose ties have clubs – and until the quarter-finals are drawn there’s nothing to line up against. Manual, with a minute of dragging, fixes it today.

Step 6. Open the knockout stage and switch to manual

Go to Competitions, open UEFA Euro 2024 and click the Knockout phase stage tab – every stage of a multistage competition is edited on the same screen. Next to Knockout Format, set Bracket Layout to manual.

The UEFA Euro 2024 competition editor with the Knockout phase stage tab active, Competition Type set to Knockout, Knockout Format set to single-leg ties and Bracket Layout set to manual

The four options, and what the visitor gets from each:

Bracket LayoutWhat you get
hideNo bracket on the competition page or in Layout Builder. The [anwpfl-bracket] shortcode still draws it.
manualYou order the ties by dragging them, and each tie gets an options box for placeholder team names and a kick-off date/time. The bracket appears once the stage has a game or a tie has a placeholder team name. A stage added with Add New Stage starts here.
automaticBuilt from the stage structure, each round lined up against the next. Needs at least one game in the stage, and has no per-tie options – no kick-off times.
advancedA separate bracket you draw on the stage’s own Bracket tab. It finds games by ID and advances winners for you. See Advanced Bracket.

Step 7. Drag the ties into the official order

With manual selected, a Bracket Layout Yes/No toggle appears above the rounds. On Yes the rounds sit side by side as bracket columns, which makes the order easy to read. Grab a tie by the handle on the left of its header and drop it into place. Ties only move within their own round.

The Stage Rounds area of the Knockout phase with the Bracket Layout toggle on Yes: the Round of 16 and Quarter-finals as side-by-side columns, each tie card showing a drag handle, its name, a club count, the bracket options and cog buttons, its two clubs and its Group ID

The official Euro 2024 bracket, top to bottom. Ties 1 and 2 meet in the first quarter-final, 3 and 4 in the second, and so on:

PositionRound of 16 tie
1Spain – Georgia
2Germany – Denmark
3Portugal – Slovenia
4France – Belgium
5Romania – Netherlands
6Austria – Turkey
7England – Slovakia
8Switzerland – Italy

Moving a tie doesn’t change its Group ID, so the games you just created stay attached to it.

Step 8. Add empty ties for the later rounds

Each later round still has only the one empty tie it came with. Click Add New Group/Match-up under the Quarter-finals column until it has four ties, and under the Semi-finals until it has two. The Final already has its one.

The foot of the Quarter-finals column in the manual bracket editor: its last tie card, the Add New Group/Match-up button below it and the Round ID underneath

Now the bracket has its full shape before any later draw happens. And when the quarter-final pairs reach the provider, Update Competition Structure fills these empty ties instead of adding new ones.

Check every later round after you import it

New pairs fill the empty ties in the order the provider lists its fixtures, not in bracket order. If a pair lands in the wrong slot, drag the tie – and re-check its kick-off text, which moves with it. Never move clubs from one tie to another with the cog: every game stays attached to the tie it was created in, so the bracket would show its result against the wrong tie or not at all.

Step 9. Save and check

Click Save and reload the competition page. The Round of 16 now reads in the official order, and the empty quarter-final, semi-final and final boxes line up with the ties that feed them.

The Euro 2024 bracket on manual after saving: the Round of 16 in the official order from Spain against Georgia down to Switzerland against Italy, four empty quarter-final boxes, two empty semi-final boxes and one empty final box, all joined by bracket lines

Part 3 – Kick-off times in the visitor’s timezone

A manual bracket can print each tie’s kick-off above its clubs. Type it as an ISO 8601 date and the bracket shows it in the visitor’s own timezone – so a fan in Lisbon and a fan in New York both see the right time for Spain – Georgia.

Step 10. Turn on the user timezone setting

Go to Settings & Tools > Settings > Configuration > Advanced and, in the Premium group, switch on Use default user’s timezone. Save.

The Premium group of the Advanced settings tab, with the Use default user's timezone toggle switched on and its note that times show in each visitor's timezone

The ISO dates need this setting

The date and time are filled in by the visitor’s browser, and only while Use default user’s timezone is on. With it off, a tie with a valid ISO 8601 date shows just the clock icon and a dash. If you don’t want the setting, type plain text instead – 30 Jun, 21:00 CEST – which the bracket prints exactly as written.

Visitors see times in their browser’s timezone, or in the one they picked with the timezone selector. More in User Timezone.

Step 11. Open a tie’s bracket options

Back on the Knockout phase stage, find the button with two arrows in each tie’s header, just left of the cog. It’s only there while Bracket Layout is manual. Click it on the Spain – Georgia tie.

A Round of 16 tie card holding Spain and Georgia, with the two-arrow bracket options button highlighted in its header between the club count and the cog

Step 12. Type the kick-off and save

The Bracket Options box has four fields. Team A (placeholder) and Team B (placeholder) are printed in a tie that has no clubs yet, so an empty quarter-final can read Winner Spain/Georgia. Text Date/Time is the one you want here: type 2024-06-30T21:00:00+02:00.

The Bracket Options modal with empty Team A and Team B placeholder fields, the free mode toggle off, and 2024-06-30T21:00:00+02:00 in the Text Date/Time field above the Close button

The box has no save button of its own. Close it, fill in the other ties the same way, then click Save on the competition – that’s what stores all of them.

The format has to be exact: date, the letter T, time with seconds, then the offset from UTC. Anything else is printed as plain text.

You typeThe bracket shows
2024-06-30T21:00:00+02:00The kick-off in the visitor’s timezone
2024-06-30T19:00:00ZThe same moment, written in UTC – works too
2024-06-30T21:00+02:00The text as typed – no seconds
2024-06-30 21:00The text as typed – no T, no offset

Every Euro 2024 kick-off, ready to paste

All knockout games were played in Germany, on Central European Summer Time, so every offset is +02:00. Rows are in bracket order, top to bottom. You can fill in the quarter-finals, semi-finals and final on day one – their slots and times were fixed before the pairs were known.

RoundTieText Date/Time
Round of 16Spain – Georgia2024-06-30T21:00:00+02:00
Round of 16Germany – Denmark2024-06-29T21:00:00+02:00
Round of 16Portugal – Slovenia2024-07-01T21:00:00+02:00
Round of 16France – Belgium2024-07-01T18:00:00+02:00
Round of 16Romania – Netherlands2024-07-02T18:00:00+02:00
Round of 16Austria – Turkey2024-07-02T21:00:00+02:00
Round of 16England – Slovakia2024-06-30T18:00:00+02:00
Round of 16Switzerland – Italy2024-06-29T18:00:00+02:00
Quarter-finals1st box (Spain – Germany)2024-07-05T18:00:00+02:00
Quarter-finals2nd box (Portugal – France)2024-07-05T21:00:00+02:00
Quarter-finals3rd box (Netherlands – Turkey)2024-07-06T21:00:00+02:00
Quarter-finals4th box (England – Switzerland)2024-07-06T18:00:00+02:00
Semi-finals1st box (Spain – France)2024-07-09T21:00:00+02:00
Semi-finals2nd box (Netherlands – England)2024-07-10T21:00:00+02:00
FinalSpain – England2024-07-14T21:00:00+02:00

Note the quarter-finals: the 3rd box kicks off at 21:00 and the 4th at 18:00. Box order follows the bracket, not the clock.

A close-up of the top of the Euro 2024 bracket: two Round of 16 ties and the quarter-final they feed, each with a clock icon followed by its kick-off date and time in the visitor's timezone

Part 4 – Show the bracket on your site

On the competition page

Usually there’s nothing to do. Which page your competition uses decides it:

  • Layout Builder v2 competition layout (Layout Builder > Layouts (v2) > Competition, activated). The default layout already has a Bracket block, right after Standings. It draws one bracket for every knockout stage whose Bracket Layout isn’t hide, captioned with the stage title – Knockout phase here – and hides itself on a competition with no knockout stage. If you removed it, add the Bracket block back from the palette and save. See Competition Layout (v2).
  • Classic competition page, with no layout. The bracket is drawn above the Knockout phase stage.
  • Older Layout Builder v1 “Competition Multistage” layout. Add its Bracket block. Leave Stage Number empty for every knockout stage, or set 2 for the Knockout phase only – the main stage is 1.
The Competition layout open in Layout Builder v2, with the Bracket block placed between the Standings and Matches - Compact blocks

On any page or post

Use the bracket shortcode. Go to Football Leagues > Shortcodes, pick Bracket Layout, choose the Knockout phase in the Competition Stage ID picker and copy the code. It looks like this, with your own stage ID:

[anwpfl-bracket competition_id="163675"]
The Shortcode Builder with Bracket Layout selected, the Knockout phase's stage ID 163675 filled into Competition Stage ID from the picker, and the generated anwpfl-bracket shortcode above it with Copy Shortcode

competition_id is the knockout stage, not the competition

Pass the ID of the Knockout phase stage. The main competition’s ID points at the round-robin Group stage, and the shortcode draws nothing for it, with no error. The Stages column in the Competitions list prints each stage’s ID, and the builder’s picker shows each stage by name – pick UEFA Euro 2024 – Knockout phase, not Group stage.

The shortcode also takes highlight_club, a club ID whose rows are highlighted all the way through the bracket. Full reference: Bracket Shortcode.

Check the result

  • The Knockout phase lists its eight Round of 16 games on the competition page.
  • The bracket reads Spain – Georgia at the top and Switzerland – Italy at the bottom.
  • Every tie shows a kick-off date and time – check one against your own clock.
  • After each later draw, run Steps 1 to 5 again for the new round and look over its slots.

Scores appear in the bracket as games finish. Keep the competition on the Import Dashboard with Update Finished Games running and you don’t have to touch it again – see Import Dashboard.

🆘 Troubleshooting

Euro 2024 isn’t in the Discover list

The tab only checks competitions saved to the Import Dashboard. Click the star on the league’s row in API Leagues so it turns orange, then reload the tab. Competitions added with Lazy Import are never listed – they don’t use stages, and their bracket is the Advanced Bracket. The table also shows ten rows at a time; after a check, the ones with nothing new drop off and make room.

The Round of 16 isn’t in the Modify Structure dropdown

The provider hasn’t published the fixtures yet, or you’re looking at a cached answer. With Cache some requests on in the API settings, fixture lists are kept for up to 10 minutes. Wait, then click Reload Local Structure at the top of the modal or reopen it. A round mapped on another row also drops out of this dropdown – an earlier Set All may have put it there, so clear it from that row.

Create Games says “No Games to Create”, or imports 0 items

No Games to Create means the new fixtures belong to a round that isn’t mapped – go back to Step 3. 0 items means the round is mapped but no tie holds the pair yet, because Update Competition Structure wasn’t run. Go back to Step 4, then create the games again.

Euro 2024 stays in the list after Create Games

The count covers every provider fixture you don’t have, mapped round or not. If the provider has already published a later round, those games are still counted until you map that round and create them too.

The bracket doesn’t show results

The bracket prints a tie’s score from the finished games that belong to that tie. Two things break it.

  1. The game isn’t finished on your site yet. Imported knockout games start as Fixture. Results arrive with Update Finished Games on the Import Dashboard, or open the game and check its status is Result.
  2. The game points at a different tie. This happens after clubs were moved between ties with the cog, or a tie was deleted and added again. Open the game: its header shows Group/Matchup ID. Compare it with the Group ID on the tie card in the Knockout phase. If they differ, click Edit Structure in the game header and pick the clubs again, then Save & Continue. The tie is only worked out again when you choose the away club, so if the right pair is already selected, switch Home Club to another club and back, then pick Away Club.
The header of the Spain - Georgia game editor, listing Competition, League, Season, Round and Group/Matchup ID, with the Delete Game and Edit Structure links on the right

A tie shows only a clock icon and a dash

The Text Date/Time is a valid ISO 8601 date, but Use default user’s timezone is off, so nothing fills it in. Turn the setting on (Step 10), or replace the date with plain text.

There’s no Text Date/Time field, or no two-arrow button

Both belong to the manual layout. Set Bracket Layout to manual on the Knockout phase stage and they appear. The automatic layout has no per-tie options at all.

No bracket on the page at all

  • Bracket Layout on the Knockout phase is still hide (this hides it on the competition page and in Layout Builder).
  • The shortcode has the main competition’s ID instead of the knockout stage’s.
  • The competition uses a Layout Builder layout with no Bracket block, or a v1 layout whose Bracket block’s Stage Number points at the Group stage.
  • The layout is automatic and the stage has no games yet.

Some clubs show a short code, others their full name

The manual bracket prints a club’s Abbreviation when it has one, and the full name when it doesn’t. Fill in or clear the Abbreviation on the club’s General tab to make the column consistent.

📚 What’s next