The towels are the easy part. Getting twenty thousand of them onto twenty thousand seats before the gates open is the part that goes wrong.
Count by block before you order
Send your seating block counts with the order and have the cartons packed and labelled to match. A crew that can pick up a box marked with a block number and walk straight to it is working; a crew counting out of bulk cartons in a concourse is not.
Build in a small overage per block for damaged towels and the seats nobody told you about.
Bag them
Individual poly bags do three things: they keep the towel clean on a damp or dusty seat, they stop the stack sliding when a towel is placed, and they make the giveaway read as a gift rather than as litter.
They also give you somewhere to put an insert card, which is where the sponsor detail, the QR code and the fixture information belong.
Drop early, and drop with a list
Start as early as the venue allows and work in pairs, one either side of a row. Assign blocks in writing rather than by shouting across a stand.
Have a runner with spare boxes rather than sending people back to the store. The walk is what eats the clock.
Plan for weather
Outdoor venues with rain in the forecast change the plan: bagged towels survive, unbagged ones do not. If a drop has to happen into wet seats, bagging is not optional.
In high wind, place the towel on the seat rather than the seat back, and expect to send a crew round again just before the gates open.