window.addEventListener('error', function(e) { var msg = e.message || ''; if (msg.indexOf('Failed to fetch dynamically imported module') > -1 || msg.indexOf('Importing a module script failed') > -1) { console.warn('New deployment detected, reloading page...'); window.location.reload(); } }, true);    -          /* Montserrat Variable Font (Weights 100-900) */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 100 900; font-display: swap; src: url('/fonts/Montserrat/Montserrat-VariableFont_wght.ttf') format('truetype'); } @font-face { font-family: 'Montserrat'; font-style: italic; font-weight: 100 900; font-display: swap; src: url('/fonts/Montserrat/Montserrat-Italic-VariableFont_wght.ttf') format('truetype'); } /* Open Sans Variable Font (Weights 300-800) */ @font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 300 800; font-display: swap; src: url('/fonts/Open_Sans/OpenSans-VariableFont_wdth,wght.ttf') format('truetype'); } @font-face { font-family: 'Open Sans'; font-style: italic; font-weight: 300 800; font-display: swap; src: url('/fonts/Open_Sans/OpenSans-Italic-VariableFont_wdth,wght.ttf') format('truetype'); }  Adobe Commerce How to create a customer attribute                                /* If Javascript is enabled but the js_disabled cookie or ?js=0 query parameter is active, restore SPA mode */ var hasJsCookie = document.cookie.indexOf('js_disabled=1') !== -1; var hasJsParam = window.location.search.indexOf('js=0') !== -1; if (hasJsCookie || hasJsParam) { if (hasJsCookie) { const host = window.location.hostname; const wildDomain = '.' + host.replace(/^www\./, ''); document.cookie = 'js_disabled=; expires=Thu, 01 Jan 1970 00:00:00 UTC; Max-Age=0; path=/;'; document.cookie = 'js_disabled=; expires=Thu, 01 Jan 1970 00:00:00 UTC; Max-Age=0; path=/; domain=' + host + ';'; document.cookie = 'js_disabled=; expires=Thu, 01 Jan 1970 00:00:00 UTC; Max-Age=0; path=/; domain=' + wildDomain + ';'; } if (hasJsParam) { var cleanUrl = window.location.protocol + '//' + window.location.host + window.location.pathname + window.location.search.replace(/[?&]js=0&?/g, '').replace(/\?$/, ''); window.location.replace(cleanUrl); } else { window.location.reload(); } }   /* Prevent FOUC for navigation submenus before CSS is loaded */ .navigation ul.submenu { display: none; } /* Prevent FOUC for header and footer before main CSS is loaded */ .page-header, .page-footer { opacity: 0; } /* Prevent FOUC for hidden elements before CSS is loaded */ .is-hidden { display: none !important; } /* Noscript notice banner */ .noscript-warning-banner { background: linear-gradient(135deg, #1e1e24 0%, #121216 100%); color: #ffffff; padding: 16px 24px; border-bottom: 3px solid #ff9800; font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif; font-size: 14px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4); position: relative; z-index: 99999; display: flex; justify-content: center; align-items: center; } .noscript-content { display: flex; align-items: center; gap: 16px; max-width: 1200px; width: 100%; } .noscript-icon { font-size: 24px; line-height: 1; } .noscript-text { flex: 1; } .noscript-text strong { display: block; font-size: 16px; margin-bottom: 4px; color: #ff9800; font-weight: 600; letter-spacing: 0.5px; } .noscript-text p { margin: 0; color: #d1d1e0; line-height: 1.4; }

{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Organization",
      "@id": "https://www.sashas.org/#organization",
      "name": "Extensions Website",
      "url": "https://www.sashas.org/",
      "logo": {
        "@type": "ImageObject",
        "url": "https://www.sashas.org/logo.png",
        "width": 600,
        "height": 60
      },
      "address": {
        "@type": "PostalAddress",
        "addressLocality": "New York",
        "addressRegion": "NY",
        "addressCountry": "US"
      }
    },
    {
      "@type": "WebSite",
      "@id": "https://www.sashas.org/#website",
      "url": "https://www.sashas.org/",
      "name": "Extensions Website",
      "publisher": {
        "@id": "https://www.sashas.org/#organization"
      },
      "potentialAction": {
        "@type": "SearchAction",
        "target": "https://www.sashas.org/search?q={search_term_string}",
        "query-input": "required name=search_term_string"
      }
    },
    {
      "@type": "WebPage",
      "@id": "https://www.sashas.org/blog/magento-2-1-3-how-to-make-customer-attribute-update.html/#webpage",
      "url": "https://www.sashas.org/blog/magento-2-1-3-how-to-make-customer-attribute-update.html",
      "name": "Adobe Commerce How to create a customer attribute",
      "isPartOf": {
        "@id": "https://www.sashas.org/#website"
      },
      "about": {
        "@id": "https://www.sashas.org/#organization"
      }
    },
    {
      "@type": "BreadcrumbList",
      "@id": "https://www.sashas.org/blog/magento-2-1-3-how-to-make-customer-attribute-update.html/#breadcrumb",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Home",
          "item": "https://www.sashas.org/"
        }
      ]
    },
    {
      "@type": [
        "BlogPosting",
        "FAQPage"
      ],
      "@id": "https://www.sashas.org/blog/magento-2-1-3-how-to-make-customer-attribute-update.html/#article",
      "headline": "Adobe Commerce How to create a customer attribute",
      "description": "Discover the power of Adobe Commerce custom customer attributes to enhance your e-commerce store. Create personalized customer experiences with custom fields tailored to your business needs. Improve customer segmentation, target marketing campaigns, and gain valuable insights into customer behavior. Unlock the full potential of Adobe Commerce with our comprehensive guide and harness the benefits of custom customer attributes for your online business.",
      "datePublished": "2017-01-24T03:48:58.000Z",
      "dateModified": "2017-01-24T03:48:58.000Z",
      "author": {
        "@type": "Person",
        "name": "Sasha Shkolnik",
        "url": "https://www.sashas.org/about-us"
      },
      "publisher": {
        "@id": "https://www.sashas.org/#organization"
      },
      "mainEntity": [
        {
          "@type": "Question",
          "name": "What is the key takeaway of Adobe Commerce How to create a customer attribute?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "This article explains the best practices, optimizations, and technical details regarding Adobe Commerce How to create a customer attribute."
          }
        }
      ]
    }
  ]
}

     ⚠️  JavaScript Required To view this page correctly and access all features of S Group, please enable JavaScript in your browser settings.

         Toggle Nav  [![The S Group Ecommerce Development](https://www.sashas.org/images/logo-gray.svg)](https://www.sashas.org/)     [Experience](https://www.sashas.org/customer-experience.html)   [Catalog Enhancements](https://www.sashas.org/customer-experience/catalog-enhancements.html)
 -  [Cart / Checkout](https://www.sashas.org/customer-experience/cart-checkout.html)
 -  [Customers](https://www.sashas.org/customer-experience/customers.html)
 -  [Shipping](https://www.sashas.org/customer-experience/shipping.html)
 -  [Payments](https://www.sashas.org/customer-experience/payments.html)

  -  [Management](https://www.sashas.org/site-management.html)   [Sales / Fulfillment](https://www.sashas.org/site-management/sales-fulfillment.html)
 -  [Catalog](https://www.sashas.org/site-management/catalog.html)
 -  [Customer Support](https://www.sashas.org/site-management/customer-support.html)
 -  [Marketing / Promotions](https://www.sashas.org/site-management/marketing-promotions.html)
 -  [Content](https://www.sashas.org/site-management/content-management.html)
 -  [Reporting & Analytics](https://www.sashas.org/site-management/reporting-analytics.html)

  -  [Optimization](https://www.sashas.org/optimization.html)   [Performance](https://www.sashas.org/optimization/performance.html)
 -  [Monitoring](https://www.sashas.org/optimization/monitoring.html)
 -  [Troubleshooting / Debugging](https://www.sashas.org/optimization/troubleshooting-debugging.html)

  -  [Blog](https://www.sashas.org/blog)
 -  [About Us](https://www.sashas.org/about-us.html)
              - [My Account](https://www.sashas.org/customer/account/)
 - [Sign Out](https://www.sashas.org/#)
 - [Sign In](https://www.sashas.org/customer/login/)

           0    You have no items in your shopping cart.

      -                      [Home](https://www.sashas.org/)
 - /
 - [Blog](https://www.sashas.org/blog/)
 - /
 - [Adobe Commerce](https://www.sashas.org/blog/?category=adobe%20commerce)
 - /
 - Adobe Commerce How to create a customer attribute

   # Adobe Commerce How to create a customer attribute

 ![Adobe Commerce How to create a  customer attribute - Adobe Commerce Technical Guide Guide](https://www.sashas.org/images/blog/img-magento-2-1-3-how-to-make-customer-attribute-update.html-i.0.png)

 Previously, we published a pre-release Adobe Commerce article titled "How to Create a Customer Attribute?" Since then, Adobe Commerce has undergone several updates, and we have updated our files accordingly to align with the latest Adobe Commerce.1.3 release. For more detailed information, please refer to our previous article.

 ## Update For Adobe Commerce How To Make Customer Attribute

 In this article, we will present the updated codebase in accordance with the Adobe Commerce.1.3 upgrade. Additionally, it's worth noting that Adobe Commerce.1.x has introduced some updates to its CLI commands. For detailed information on these commands, we recommend referring to our previous article titled "The Top 7 Adobe Commerce CLI Commands You Should Know."

 ## Updates to the files from the previous article:

 There are 3 files. One more file added. Please don't forget to make it. It allows extension to be visible for Adobe Commerce.

 ### app/code/Sashas/CustomerAttribute/etc/module.xml

   <config  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
    <module name="Sashas_CustomerAttribute" setup_version="2.0.0">
        <sequence>
        	<module name="Customer"/>
        </sequence>
    </module>
</config>

 ###  app/code/Sashas/CustomerAttribute/Setup/InstallData.php

 ###

   <?php
namespace Sashas\CustomerAttribute\Setup;
use Magento\Customer\Setup\CustomerSetupFactory;
use Magento\Customer\Model\Customer;
use Magento\Framework\Setup\InstallDataInterface;
use Magento\Framework\Setup\ModuleContextInterface;
use Magento\Framework\Setup\ModuleDataSetupInterface;
use Magento\Eav\Model\Entity\Attribute\SetFactory as AttributeSetFactory;
/**
 * @codeCoverageIgnore
 */
class InstallData implements InstallDataInterface
{
    /**
     * Customer setup factory
     *
     * @var CustomerSetupFactory
     */
    private $customerSetupFactory;
    /**
     * @var AttributeSetFactory
     */
    private $attributeSetFactory;
    /**
     * Init
     *
     * @param CustomerSetupFactory $customerSetupFactory
     */
    public function __construct(
        CustomerSetupFactory $customerSetupFactory,
        AttributeSetFactory $attributeSetFactory
    ) {
        $this->customerSetupFactory = $customerSetupFactory;
        $this->attributeSetFactory = $attributeSetFactory;
    }
    /**
     * {@inheritdoc}
     * @SuppressWarnings(PHPMD.ExcessiveMethodLength)
     */
    public function install(ModuleDataSetupInterface $setup, ModuleContextInterface $context)
    {
        /** @var CustomerSetup $customerSetup */
        $customerSetup = $this->customerSetupFactory->create(['setup' => $setup]);
        $setup->startSetup();
        $attributesInfo = [
            'magento_username' => [
                'label' => 'Magento Username',
                'type' => 'varchar',
                'input' => 'text',
                'position' => 1000,
                'visible' => true,
                'required' => false,
                'system' => 0,
                'user_defined' => true,
                'position' => 1000,
            ]
        ];
        $customerEntity = $customerSetup->getEavConfig()->getEntityType('customer');
        $attributeSetId = $customerEntity->getDefaultAttributeSetId();
        /** @var $attributeSet AttributeSet */
        $attributeSet = $this->attributeSetFactory->create();
        $attributeGroupId = $attributeSet->getDefaultGroupId($attributeSetId);
        foreach ($attributesInfo as $attributeCode => $attributeParams) {
            $customerSetup->addAttribute(Customer::ENTITY, $attributeCode, $attributeParams);
        }
        $magentoUsernameAttribute = $customerSetup->getEavConfig()->getAttribute(Customer::ENTITY, 'magento_username');
        $magentoUsernameAttribute->addData([
            'attribute_set_id' => $attributeSetId,
            'attribute_group_id' => $attributeGroupId,
            'used_in_forms' => ['adminhtml_customer'],
        ]);
        $magentoUsernameAttribute->save();
        $setup->endSetup();
    }
}

 ### app/code/Sashas/CustomerAttribute/registration.php

 ###

   <?php
\Magento\Framework\Component\ComponentRegistrar::register(
    \Magento\Framework\Component\ComponentRegistrar::MODULE,
    'Sashas_CustomerAttribute',
    __DIR__
);

 ## Updates for Adobe Commerce CLI commands

 The example of commands shown for a store with developer mode enabled. If you are using production mode please perform additional commands for dependency injection, static content deploy, clean cache and reindex indexers. You can find these commands at the [Our Adobe Commerce CLI Article](http://docs.google.com/blog/the-top-7-magento-2-cli-commands-you-should-know.html)

 After you created files you will need to run following commands: php bin/magento setup:upgrade php bin/magento cache:flush (if you had cache enabled) php bin/magento indexer:reindex In case any of Adobe Commerce CLI commands have error please check permissions of bin/magento and path to php

 ## Result: New Custom Customer Attribute At Adobe Commerce

 As you can see in the code we set that attribute should be used in forms: adminhtml_customer

 ![Adobe Commerce How to create a  customer attribute - Adobe Commerce Technical Guide Guide](https://www.sashas.org/images/blog/img-magento-2-1-3-how-to-make-customer-attribute-update.html-i.1.png)![Adobe Commerce How to create a  customer attribute - Adobe Commerce Technical Guide Guide](https://www.sashas.org/images/blog/img-magento-2-1-3-how-to-make-customer-attribute-update.html-i.2.png)

 If don't you want to use it at the Customer Edit and Customer Registration Page then you need to remove customer_account_edit and customer_account_create (Line 75)

 Instead of ['adminhtml_customer', 'customer_account_edit', 'customer_account_create'] it will be: ['adminhtml_customer'] In another case if you want to use customer attribute at the Customer Edit and Customer Registration Page then you will need to rewrite .phtml templates for these forms at the: vendor/magento/module-customer/view/frontend/templates/form/edit.phtml and vendor/magento/module-customer/view/frontend/templates/form/register.phtml To achieve this you need to make folder structure at your theme app/design/frontend/{theme_company}/{theme_name}/Adobe Commerce_Customer/templates/form/ and copy files above there. After this, you can add fields similar way as Adobe Commerce have in the default template. The input field name will be our custom attribute code.

 ## Conclusion

 Due to several updates in Adobe Commerce, the code provided in the previous article may no longer function correctly. However, the article includes a detailed explanation of the code, and there is a video tutorial demonstrating how to create custom customer attributes. If you are currently working with Adobe Commerce.1.x versions and intend to create custom customer attributes, please refer to the code provided above, along with the relevant Adobe Commerce CLI commands. By following these instructions, you should be able to create custom attributes without encountering any issues. If you encounter any difficulties during the process, please feel free to leave a comment in the section below the article. I will be more than happy to assist you in resolving any problems you may face.

 ## Video

   ID mTMCJqOrxOs

       - [Contac Us](https://www.sashas.org/contact/)
 - [Privacy Policy](https://www.sashas.org/privacy-and-refund-policy.html)
 - [Refund Policy](https://www.sashas.org/refund-policy.html)

  © The S Group. All Rights Reserved.