This tutorial is a spin-off of a previous article (WooCommerce: Move / Reorder Checkout Fields) as I feel there is a huge boost of requests for this task alone.
Moving the billing email field to the top of the WooCommerce checkout gives you many benefits: because it’s the first field customers need to fill out, you can capture their email address (upon marketing permission) and send them cart reminders, feedback requests and similar if they do not complete the checkout.
Also, having the email first can make you save time in case the user is already registered, and you could save them time while checking this against the list of customers, so a prompt can be displayed to load all their billing/shipping details for example.
Either way, it’s super easy to move the email field to the top. Enjoy!

PHP Snippet: Move Billing Email Field to Top @ WooCommerce Checkout
/**
* @snippet Move Email Field To Top @ Checkout Page
* @how-to businessbloomer.com/woocommerce-customization
* @author Rodolfo Melogli, Business Bloomer
* @compatible Woo 4.9
* @community https://businessbloomer.com/club/
*/
add_filter( 'woocommerce_billing_fields', 'bbloomer_move_checkout_email_field' );
function bbloomer_move_checkout_email_field( $address_fields ) {
$address_fields['billing_email']['priority'] = 1;
return $address_fields;
}
Works like a charm, thanks!
I’m using your custom php code that asks for a account password
How do I get this password field right under the email field (on top of the page)?
I tried something like
But this didn’t work
Hello Markus, thanks so much for your comment! Yes, this is definitely possible, but I’m afraid it’s custom work. If you’d like to get a quote, feel free to contact me here. Thanks a lot for your understanding!
hi there
great idea, but this does not seem to work with your email validation snippet
the email box came up, was half width, then went on to first name, 2nd name was on a different line and the validation box still in the orignial place
woodmart theme
Thanks
Amy
Thank you Amy. I guess they’d need to be coded so they’re compatible. Does this specific snippet work ok on its own?
hi there
I just deactivated the email vaildation and put this one in, and it didnt work and, so I suspect it is my theme.
There isn’t an email notification for replies for messages, or am I missing something?
Thanks for all these great things.
Amy
Hi Amy, weird. Did you try switching to another theme temporarily to verify that?
I love it, it is a great enhancement.
Great!
Thanks for this great and short tutorial. How could we validate the email address against our user database and if existing, ask the visitor to login?
Hi Daniel, thanks so much for your comment! Yes, this is definitely possible, but I’m afraid it’s custom work. If you’d like to get a quote, feel free to contact me here. Thanks a lot for your understanding!