• During checkout your plugin asks for billing details first, and then it gives the option to provide alternate shipping details.

    But this is backwards. It should ask for shipping details first.

    During checkout customers just want to provide you with info about where to send their goods. This is all they care about. So this should be first.

    And almost always their billing details are identical, so that should come as an optional second option if they want to include something different.

    Do you see what I mean?

    WooCommerce is a great plugin but this has always bugged me, especially since most other shopping carts online put the shipping details first.

    https://www.ads-software.com/plugins/woocommerce/

Viewing 10 replies - 1 through 10 (of 10 total)
  • It’s somewhat easy to switch them.

    You just go to woocommerce/templates/checkout/form-checkout.php using ssh or ftp and switch these lines.

    FROM:

    <div class="col2-set" id="customer_details">
    			<div class="col-1">
    				<?php do_action( 'woocommerce_checkout_billing' ); ?>
    			</div>
    
    			<div class="col-2">
    				<?php do_action( 'woocommerce_checkout_shipping' ); ?>
    			</div>
    		</div>

    TO:

    <div class="col2-set" id="customer_details">
    			<div class="col-1">
    				<?php do_action( 'woocommerce_checkout_shipping' ); ?>
    			</div>
    
    			<div class="col-2">
    				<?php do_action( 'woocommerce_checkout_billing' ); ?>
    			</div>
    		</div>

    And then you’ll want to change the text for the “ship to a different address” checkbox to say something like “billing address is different from shipping address”. The checkbox is located in woocommerce/templates/checkout/form-shipping.php.

    <h3 id="ship-to-different-address">
    			<label for="ship-to-different-address-checkbox" class="checkbox"><?php _e( 'Ship to a different address?', 'woocommerce' ); ?></label>
    			<input id="ship-to-different-address-checkbox" class="input-checkbox" <?php checked( $ship_to_different_address, 1 ); ?> type="checkbox" name="ship_to_different_address" value="1" />
    		</h3>

    You might also want to change the location of it depending on your checkout layout. Be sure to backup everything first. You might also want to add an H2 for the shipping form.

    Plugin Contributor Mike Jolley (a11n)

    (@mikejolley)

    WooCommerce is a great plugin but this has always bugged me, especially since most other shopping carts online put the shipping details first.

    I don’t think you’re correct there. Amazon, John Lewis, some bug retailers I just checked show billing first. Some shops also restrict shipping to billing address so it makes sense.

    When you’re taking payment, billing is just as important, if not more, to prevent fraud and capture the required information to make the charge.

    Thread Starter bruceleebee

    (@bennygill)

    Thanks @kimsf! I will take a look at trying to implement that.

    @mike Jolley… maybe we are seeing different checkout flows on Amazon because for me the first bit of info they ask for is the shipping address. It isn’t until 2 or 3 steps later that they give you the option to change the billing address. Screenshot: https://drive.google.com/file/d/0B055z1MmFr09SU5ienppTTVzbkU/view?usp=drivesdk

    Also on the John Lewis site they ask for shipping first also: https://drive.google.com/file/d/0B055z1MmFr09V05WREhzd2k2cFU/view?usp=drivesdk

    I love WooCommerce and I’m soooo happy you guys have this amazing free resource for us to use. I hope I don’t sound like I’m complaining or anything, it just makes more sense to me to put shipping first.

    Benny there is no wrong or right when it comes to ecommerce to a certain extent. Just because Amazon found something that increases conversions doesn’t mean that the same concept can be applied to all ecommerce stores. For all we know a billing first checkout could be better for smaller ecommerce merchants.

    Amazon also doesn’t even have a guest checkout so that does mean you shouldn’t have one either? No it doesn’t. It’s well known that not having a guest checkout is a conversion rate killer for smaller merchants.

    Also Amazon and most other big sites use multi-page checkout instead of single page. Maybe billing first is better for multi-page but worse for single page. We don’t know.

    I personally think that it’s probably a small issue that won’t change conversion rates by more than 0.5%.

    Plugin Contributor Mike Jolley (a11n)

    (@mikejolley)

    Going to send this thread to Jay anyhow to review. Maybe we can test a separate flow somewhere.

    Hi!
    Is there a way to do this with a functions file?
    We are using woocommerce smart checkout and they don’t allow the ability to edit the form-checkout.php file.

    Thread Starter bruceleebee

    (@bennygill)

    I had a look at changing this up in the template files (as described by kimsf above) but I gave up.

    It gets really complex because some required fields are loaded in the billing area that are not in the shipping area, like email, and the account creation, etc. It was way beyond my capabilities to get it working smoothly.

    I still believe it makes much more sense to collect a customers shipping details first (because that is what they are expecting to provide when buying something online) and then give optional billing details after, but I couldn’t get it working.

    Good luck though, and if you find a solution please let me know!

    I was able to make it work with the form-checkout.php, but Woocommerce smart checkout doesn’t allow us to edit that. So I’m ok with the billing details being below the billing fields as long as shipping is first.

    But it needs to be in the form of a function not manually editing the forms-checkout.php file.

    Any help would be amazing :))

    Caleb Burks

    (@icaleb)

    Automattic Happiness Engineer

    There has been some talks about revising the checkout flow here: https://github.com/woothemes/woocommerce/issues/10672

    Most likely this idea will be turned into a feature plugin, which will be tested and perhaps merged into WooCommerce core one day.

    Thread Starter bruceleebee

    (@bennygill)

    Amazing!! Can’t wait to see this.

Viewing 10 replies - 1 through 10 (of 10 total)
  • The topic ‘Switch Billing and Shipping Forms’ is closed to new replies.