Maintain Your B2C Commerce Developer Certification for Spring '21

Learning Objectives 

After completing this unit, you’ll be able to:

  • Describe how users access the Commerce Cloud GitHub repositories.
  • List which Business Manager modules now require strong authentication.
  • Explain how you can successfully apply fractional quantities in pricing and promotions.
  • Describe the three new Pricing and Promotions features in the 20.10 release.
  • Use the new product attributes for shoppers on the product display and product list pages.
  • Create rich, engaging templates for Product Detail or Product List pages.
  • Create links to content assets in Page Designer.
  • Maximize your search results for Page Designer pages using boost factors.
  • Increase users’ ability to search for pages using attribute values.
  • Create preassigned components in regions in Page Designer.

Salesforce Certification—the Big Picture

If you hold the Salesforce B2C Commerce Developer credential, keep in mind that you need to complete this module by the due date to maintain your certification. Another important part of maintaining your credential is ensuring that your Trailhead and Webassessor accounts are linked.

Interested in learning more about getting certified? Check out the Salesforce B2C Commerce Developer credential.

Salesforce introduced a ton of great feature enhancements over the past year. Let’s take a look at some of the more important ones.

Strong Authentication

Change of Identity Management for Commerce Cloud GitHub Repositories (21.3 Release)

What’s new?
We’re simplifying how users access the Commerce Cloud GitHub repository. Access is now direct via Commerce Cloud Account Manager. Previously, access required users to register a GitHub account. This change only affects resources that require Commerce Cloud accounts. Any resources that are publicly available can still be accessed using any GitHub account.

How does this work?
As of June 30, 2020, we encourage all users to log in via SSO to ensure that your account does not get removed. To do so, find the link on the Salesforce Commerce Cloud repository homepage or see Single sign-on to Salesforce Commerce Cloud.

Starting July 31, 2020, members who have not authenticated via Commerce Cloud Account Manager will receive an email from GitHub notifying them about account removal, with a link to authenticate. Once authenticated, all previous permissions are restored.

Use Strong Authentication as Required for Some Business Manager Modules (21.2 Release)

What’s new?
For security reasons, starting with Release 21.3, you must use strong authentication, such as through multi-factor authentication (MFA) with Account Manager, to access certain Business Manager modules. In Release 21.2, a warning message appears if you try to access these modules without using strong authentication.

The change applies to these Business Manager modules.

  • Jobs
  • Jobs (Deprecated)
  • Site Import & Export
  • Data Replication
  • Code Replication

New Pricing and Promotions Features

Pricing and Promotions Work Properly with Fractional Quantities (21.1 Release)

What’s new?
Prices and promotions qualify and apply fractional quantities of an item added to the cart—for example, adding 0.5 kg of a product to a cart, or 0.75 lbs.

Why was this added?
Previously, prices and promotions weren’t applied correctly or at all when fractional quantities were added. The Approaching Discounts up-sell messaging also now calculates and displays correctly when fractional quantities are added to the cart. Prices and promotions are set up in the context of quantity 1, and the quantity 1 price is used for calculating fractional quantities prices and discounts. You can use Product order attributes such as Minimum Order Quantity and Step Quantity to let your shoppers purchase items in fractional quantities. This new option is helpful for merchants with stores that allow customers to select quantities that aren't whole numbers.

When’s it available?
This change applies to the Salesforce B2C Commerce 21.1 release.

Pricing and Promotions (20.10 Release)

We introduced three new B2C Commerce Pricing and Promotions features in the 20.10 release.

  • New Override Price Books Preference

    What’s new?
    Merchandisers can now define a hierarchical override model that lets store-level prices override parent price book prices. The feature is controlled by a new preference, Enable Price Books Override, which can be found in the new Pricing Preferences module. This feature is helpful for merchants with repeated price entries in store-level price books because reducing the total price entries can optimize storefront lookup prices.

    How does this work?
    To access the global admin preference, go to Administration | Global Preferences | Pricing Preferences | Enable Price Books Override.

    Define a parent-child relationship by setting one price book to be based on another. Define this relationship on either the Price Book screen or via XML imports. If you disable the preference, the cheapest price is returned rather than the price from the child price book. Prices defined in the child price book override prices in the parent price book. If the prices in the child price book are empty, the engine inherits the prices from the parent price book for the product.

  • New Total Price Entries Quota

    What’s new?
    We're enforcing a new quota on total price entries. Customers now receive a WARN error when they reach 290 million price entries and an ERROR when they reach 300 million price entries.

  • New High Scale Price Book Limit on Number of Prices

    What’s new?
    To maintain peak performance for high scale price books, each price book is capped at 300 million prices.

New Product Attributes for Price Per Unit Feature (20.8 Release)

What’s new?
You can now display two new product attributes for shoppers on the product display and product list pages: unit quantity and unit of measurement. These attributes let shoppers compare the value between similar products of varying quantities.

How does this work?
You can import these two product attributes. The pricing engine then calculates and returns the price per unit (PPU) via the following APIs:


  • Shop API
    • GET /products
    • GET /product_search
  • Data API
    • GET /products
    • POST /product_search
  • Script API
    • dw/catalog/ProductPriceModel
    • dw/catalog/ProductSearchHit

We don’t currently support the ability for the merchant to directly input the PPU from an external source. Although PPU can be shown as a product attribute in search results or on product list page (PLP), sorting and filtering by PPU is not currently supported. This functionality will be available in the Commerce API in a future release. For more information, see Pricing and Price Books.

New Page Designer Features

Create Templates for Product List and Product Detail Pages (20.6 Release)

What’s new? 
With Page Designer’s new dynamic page feature, you can easily create rich, engaging templates for Product Detail or Product List pages. You can assign the template to multiple categories. When a Product List or Product Detail page is rendered in the storefront for one of the assigned categories, the template page is displayed, populated with the appropriate product information.

Why was this added?
This feature allows you to set up a Product List or Product Detail template page once, with layout, components, text, and graphics customized for your storefront. There’s no need to create a separate page for every category. Categories you assign to the template page are automatically rendered using the template.

How does this work?
Using our new wizard, create the template page using a page layout designated for Product List or Product Detail pages. Add components to create the look you want. Now developers can incorporate content in components that’s different depending on which category is rendered on the page. For example, a dynamic headline banner component displays the name and image for whatever category is rendered on the page, without any configuration required. You can override the dynamic content in the component. For example, you can specify that the headline banner displays a name or image that's different from the name and image of the category rendered on the page.

During page creation or later in Page Settings, assign the template page to one or more of the categories defined in your site’s catalog. 

Create a Link to a Content Asset (20.9 Release)

What’s new?
Some component attributes allow you to configure a link, for example to a product, category, page, or external resource. We have expanded your options for that link to include content assets.

How does this work?
The merchandiser opens the link builder UI control in the Page Designer visual editor and clicks Content Asset. The merchandiser can then search for and select a content asset to use for the link.

Link builder UI to start a content asset search.

Influence the Placement of a Page Designer Page in Search Results (20.8 Release)

What’s new?
You can specify a boost factor in a searchable page or component attribute to influence the placement of the page in search results.

How does this work?
The default value for a boost factor is 1.0. To indicate that text in the attribute is less relevant than other terms in the index, specify a boost factor less than 1.0. You can use any decimal number less than 1, for example, 0.5 or 0.3, but you can’t use negative numbers. To increase the relevance of attribute text, specify a boost factor greater than 1.0. For example, specifying a boost factor of 2.0 makes the field twice as relevant in relation to other fields in the index.

Include the boost factor value in the page or component meta definition file, as in the following example.

  "id": "heading",
  "name": "Banner Heading",
  "required": true,
  "type": "text",
  "searching": {
    "searchable": true,
    "refinable": true,
    "boost_factor": 2.0

Search for Pages Using Attribute Values (20.7 Release)

What’s new?
Developers can specify that component or page attributes are indexed and searchable. When attributes are searchable, users can find pages by searching for the attribute value. For example, users can search for the text configured for a rich text attribute.

How does this work?
Add the searching object to the definition of the attribute you want indexed, as in the following example.

  "id": "heading",
  "name": "Banner Heading",
  "required": true,
  "type": "text",
  "searching": {
    "searchable": true,
    "refinable": true

Attributes of the following types can be designated as searchable. If the searchable value is not specified, the default is false.

  • string
  • text
  • markup
  • product
  • category
  • cms_record
  • custom
  • enum-of-string

The refinable value indicates whether a user can further refine search results based on the content of this attribute. All searchable attribute types can be designated as refinable except cms_record and custom.

For attributes of type custom, all elements of the attribute are considered as text for purposes of indexing. For attributes of type cms_record, only attributes of the cms_record that are supported as searchable are added to the index. For example, if the cms_record includes an attribute of type image, the image is not indexed.

Preassign Components to Regions on Page Designer Pages (20.6 Release)

What’s new? 
When developing a page type or component type, Page Designer developers can preassign components to regions. When a merchant creates the page in the Visual Editor, the preassigned components are already in the region. The merchant can remove or modify the preassigned components as necessary.

Why was this added?
Preassigning a region with components makes it easier for a merchant to create a page. For example, a page layout for a Product List Page can have a preassigned Product Grid component in the main region of the page. When the merchant creates a page using the Product List Page layout, the Product Grid is already in the main region. The merchant immediately knows that the Product Grid component is the appropriate component to use on the page. 

You can also preassign a Promotional Content component to one of the Product Grid’s own regions. Populating the Promotional Content component guides the merchant to use the component to highlight a particular promotion within the grid of product tiles on the page.

Preassigning a Product Tile component to a region within a Carousel component is another good use case. When merchants add the Carousel component to a page, the Carousel already contains a Product Tile component, making it clearer to the merchant how to configure the Carousel.

How does this work?
The developer uses the default_component_constructors property in the meta definition file for a page type or a component type to indicate which components are preassigned to a region.


Keep learning for
Sign up for an account to continue.
What’s in it for you?
  • 1 in 4 land a new job
  • 50% receive a promotion or raise
  • 80% learn new technologies that boost their resume
  • 66% say it increases productivity
Source: Trailblazer Community Impact Survey 2019