You could go either way... sounds like that age-old question of, one long form page or multiple steps.
I think whichever you pick may be heavily dependent on the types of questions.
All of our e-commerce pages (mostly b2b, not b2c) are in multi-page steps. I can only say it works fine, but the setup was chosen because everyone else uses it, not because of usability testing and positive results.
If the later questions may only need to be filled in if certain other conditions are met, it may be best to go with the delay. Nobody wants or needs to fill in more form than necessary.
When I worked in insurance, the boss was very particular in removing all the questions not absolutely needed to give the (potential) customer a valid quote. No more questions about the colour or how many CC's if the price were the same anyway. At the minimum, a license plate number, a postal code and age of the driver would get you most of the way. Most vehicle insurance forms are much, much longer (so things like more information to tweak the quote, and the offering of extra coverage, came at either a later step or where hidden behind select dropdowns, default No, asking if the customer wanted any extra coverage).
Another reason to consider delaying more fields is if the user is trying to get to something, like information. A form is generally something that blocks users from things (like the "register before testing our Cool New Thing!", famous from Luke W's testing of Cool New Things and user uptake of them).