Key details for this exam, checked against the published exam outline
Each question shows the correct answer and an explanation of why it is right
In which folder can a custom theme favicon be added?
The favicon can be added to the <your_theme_dir>/Magento_Theme/web/ directory of a custom theme. The favicon should have the name favicon.ico and replace the default one from the Magento_Theme module. The <your_theme_dir>/web/ directory is used for storing web assets that are not specific to any module. The <your_theme_dir>/assets/images directory does not exist by default and is not used for storing favicons. Reference: [Add a favicon], [Theme structure]
An Adobe Commerce developer needs to pass JSON data to a JavaScript component while keeping XSS prevention strategies in mind.
Which two options would the developer use? (Choose two.)
A)

![]()
C)

D)
![]()
To pass JSON data to a JavaScript component while keeping XSS prevention strategies in mind, the developer should use the following options:
Option A: Use the x-magento-init script tag with the data-mage-init attribute and the JSON.parse function to initialize the component with the JSON data. This option is secure because it does not use any HTML tags or attributes that can be exploited by XSS attacks.
Option C: Use the text/x-magento-init script tag with the type attribute and the JSON.parse function to initialize the component with the JSON data. This option is secure because it does not use any HTML tags or attributes that can be exploited by XSS attacks.
The following options are not secure and should not be used:
Option B: Use the script tag with the type attribute and the escapeHtmlAttr function to initialize the component with the JSON data. This option is not secure because it uses the escapeHtmlAttr function, which is meant for escaping HTML attributes, not JSON data. This function can introduce double quotes in the JSON data, which can break the JSON syntax and cause errors.
Option D: Use the script tag with the type attribute and the escapeJsQuote function to initialize the component with the JSON data. This option is not secure because it uses the escapeJsQuote function, which is meant for escaping JavaScript strings, not JSON data. This function can introduce backslashes in the JSON data, which can break the JSON syntax and cause errors.
An Adobe Commerce developer needs to add a conditional static note depending on whether the order type is virtual or not. Which option would the developer use to add the conditional text in the email template?
A)

B)

C)

Option B is the correct way to add a conditional static note depending on whether the order type is virtual or not in the email template. Option B uses the {{trans}} directive to translate the text and the {{depend}} directive to check the value of the order.is_virtual variable. If the order is virtual, the text ''Shipping not required.'' will be displayed. Option A and Option C are incorrect because they use the wrong syntax for the {{trans}} and {{depend}} directives. Option A uses curly braces instead of parentheses for the {{trans}} directive and does not use quotes for the text. Option C uses parentheses instead of curly braces for the {{depend}} directive and does not use a dot to access the order.is_virtual variable.
An Adobe Commerce developer is trying to remove a block using the
To remove a block using layout XML, the developer should use the <referenceBlock> tag with the name attribute specifying the name of the block and the remove attribute set to true. For example:
<referenceBlock name=''test.block'' remove=''true''/>
This will remove the block from the layout and prevent it from rendering. The <remove> tag is not valid and will cause an error. The name attribute should not include the module name, as it is not part of the block name. The delete attribute is not valid and will not work. Reference: [Layout instructions], [Remove an element]
An Adobe Commerce developer needs to add CMS content above products on a specific category page via the Admin Panel. Where would the developer need to put the content in order to use Display Modes functionality and display it on the category?
50 questions covering all exam domains, starting from $20
Exam domains verified against: Official Adobe AD0-E720 exam guide, last checked September 2026.
Describe the Adobe Commerce theme folder structure and how it relates to folder-based themes. Demonstrate the ability to create new themes with inheritance, fallbacks, design exceptions, and theme properties.
Demonstrate how to utilize layout XML instructions and create new page layouts. Understand the differences between extending or merging versus overriding XML files.
Sample question from this domain above: Q5
Identify the purpose of different LESS files like styles-m.less, styles-l.less, and print.less. Demonstrate ability to override or extend Magento LESS and implement LESS library components.
Demonstrate initialization and calling of JavaScript components and distinguish use cases for different JavaScript types. Demonstrate usage of RequireJS, mixins, Knockout JS, and jQuery widgets.
Sample question from this domain above: Q3
Demonstrate the ability to customize Page Builder content and optimize front-end performance. Describe the usage of admin development tools.
Demonstrate usage of basic bin/magento commands and Composer commands. Differentiate appropriate use cases for deploy modes and define Grunt setup.
Sample question from this domain above: Q1
Common questions about the exam itself