Without serious modification, the GPi has no externally-accessible USB data port; thus, you can't easily use a wired USB controller.
For this reason, I recommend a Bluetooth controller -- however, this assumes that you're using the bluetooth-enabled Raspberry Pi Zero W, not the "normal" Pi Zero. The normal Zero does not support bluetooth.
Choosing a Wireless Bluetooth controller
For wireless controllers, I recommend the 8BitDo SF30. It contains a ton of buttons, has a long battery life, undetectable input lag, and is super affordable.
For a complete analysis of available RetroPie controllers and how to use them, see my RetroPie controller guide!
Connecting a Bluetooth controller
After updating your controller's firmware, you can access Bluetooth device config in RetroPie Setup. I wrote a complete guide on adding Bluetooth controllers in RetroPie. Use that guide for step-by-step instructions on setting up your GPi Bluetooth controller.