Automatically create a customer account after guest checkout in Magento 2
Find a file
2025-05-24 10:35:54 +00:00
etc Initial commit 2025-05-20 14:57:40 +00:00
Observer Initial commit 2025-05-20 14:57:40 +00:00
.gitignore .gitignore should not have included itself 2025-05-24 10:20:28 +00:00
composer.json Update homepage in composer.json 2025-05-21 08:30:44 +00:00
COPYING.txt Initial commit 2025-05-20 14:57:40 +00:00
README.md README.md - canonical markdown uses spaces for line breaks. 2025-05-24 10:35:54 +00:00
registration.php Initial commit 2025-05-20 14:57:40 +00:00

JRO Guest2Customer Magento 2 extension

If a Magento2 store allows guest checkout, you can get a lot of orders that are set as a “guest order”, with no account associated. For many sites, that is fine. However, either as part of a marketing strategy, or to assist smooth store administration, some store owners would like to retain guest checkout, but to have all the guest orders associated to actual customer accounts.

There are many extensions to address this need. This extension was developed to achieve three specific goals:

  • Free. This extension is not something you have to pay to use.
  • It works. A key API change starting at Magento 2.4.6 means many extensions that claim to convert guests into customers do not work any more. This was written against the latest version of Magento 2, and it works!
  • It is simple. There are no bundled extra features, and no admin UI. If you enable this module, it will do its one task.

Installation

Simply download using composer, enable the module, and recompile dependency injection:

composer require jro/guest2customer
php bin/magento module:enable Jro_Guest2Customer
php bin/magento setup:di:compile

Features

  • When a guest order is placed, and there is already a customer with the order email address, the order will be associated to the existing account.
  • When a guest order is placed, and there is no matching customer, a new customer will be created and the order associated with it. If the store is set to email new customers with details of how to set their password, this email will be triggered.
  • If a new customer is created, the billing and shipping address of the order will be set as the respective default addresses for the customer.
  • If the order was for an existing customer, the default billing and shipping addresses won't be changed, but the orders shipping address will be added to the customers address book.
  • A message is displayed on screen after successful checkout, informing the customer that either an account has been created or that their order has been linked to their existing account.

As explained above (“it is simple”), no configuration is needed in the admin area to enable these features. Once the module is enabled, these things will happen.

Licence

The extension is licensed under GNU GPLv3. See the COPYING file for details.

Author

James Oakley
magentodev@m3.oakleys.org
https://git.oakleys.org
https://www.oakleys.org.uk

Homepage

The homepage of this extension is https://git.oakleys.org/JamesOakley/magento-guest2customer.

Please use the issue queue there for any support requests, although this extension is provided “as-is” so support is on a goodwill and best-effort basis.