You land at PVG or CAN or PEK at 23:40. Your hotel is 40-60 km away. Your phone has no data yet. This is the exact moment most China trips fall apart, and it is entirely preventable.
Here is the honest math on the three options, in order of how much thinking they need:
1. The airport taxi queue (cheapest, most friction). It works, but the signage is Chinese-only, drivers rarely take cards, and after midnight the queue can be 40 minutes. If you do not read Chinese and do not have cash, this option quietly fails.
2. Ride-hailing (needs data + a linked card). DiDi is excellent -- cheaper than taxis, English interface, and it shows the plate number so you can find the car. But it requires a working eSIM and a payment method already set up, which means doing homework before you land. The DiDi setup notes cover the foreigner-specific traps (Chinese number requirement on some accounts, how to link a foreign card).
3. Pre-booked transfer (most expensive, zero thinking). Someone holds a sign with your name. It costs roughly double the taxi and removes every point of failure. For a midnight arrival on a first trip, it is often worth it. The breakdown of what each option costs from each major airport is in the airport transfer guide.
One option people forget: the metro. If you land before about 23:00, the airport metro is the fastest and cheapest way into town -- Beijing Capital to city centre in about 40 minutes for less than a dollar. It only stops being an option late at night, so it depends entirely on your arrival time. City-specific metro lines and the payment trick (QR code, not a ticket machine) are in the metro guide.
The part that ruins the plan: booking a hotel at the wrong end of town because it was cheap, then paying 300 RMB in transfers every day. Optimise for location first. And if you book late, note that not every property can legally accept foreign guests -- that one is covered in the hotel booking guide.
Rule of thumb: midnight arrival + first time in China = pre-booked transfer. Afternoon arrival + phone set up = DiDi. Everything else = metro. Plan backwards from your landing time and you never touch the problem again.












