Magento provides the ability to have multiple homepages or a homepage with dynamic blocks that alter based on demand. However, there may be times when different homepages must be displayed based on customer groups/segments. This is possible with the dynamic block functionality, which is available in the Enterprise and Cloud editions. However, there is a constraint in that you have to maintain numerous blocks for multiple customer groups/segments. In that situation, you can alter the default functionality by using the code below: Step 1: Create a plugin for "Magento\Cms\Controller\Index\Index" by adding the below code in your module di.xml file. <type name="Magento\Cms\Controller\Index\Index"> <plugin name="dynamicHomepage" type="Mageinsight\Module\Plugin\DynamicHomepage" sortOrder="1"/> </type> Step 2: Add the plugin file as below: <?php namespace Mageinsight\Module\Plugin; use Magento\Framework\App\Config; ...