Total 196 Questions
Last Updated On : 11-Dec-2025
Which SSJS library can be used in email messages?
A. Both
B. Platform
C. None
D. Core
Summary:
This question tests the understanding of Server-Side JavaScript (SSJS) library availability within different Marketing Cloud contexts. SSJS functionality is divided into two main libraries: Core and Platform. Core provides basic functions, while Platform offers more advanced, server-specific capabilities. For security and performance reasons, the more powerful Platform library is restricted from use within the context of email messages to prevent potential abuse or instability during mass sends.
Correct Option:
D. Core:
The Core SSJS library is the only one available for use within Email Messages. It contains a limited set of functions for fundamental operations like string manipulation, dates, and simple logic. This restriction is a security and stability measure to ensure email rendering is not negatively impacted by more complex server-side operations.
Incorrect Option:
A. Both:
This is incorrect. The Platform library is explicitly disabled and cannot be used in email messages. Attempting to use Platform functions in an email will result in an error.
B. Platform:
This is incorrect. The Platform library, which includes functions for interacting with Data Extensions, external APIs, and file system operations, is restricted for use in more controlled environments like CloudPages and API integrations. It is not permitted in emails.
C. None:
This is incorrect. While the Platform library is unavailable, the Core SSJS library is indeed supported and can be used within email messages for basic scripting tasks.
Reference:
Salesforce Official Documentation: SSJS Syntax Guide - Libraries
A developer wants to retrieve a row of data from a data extension using the SOAP API. Which API Object should be used for this call?
A. DataExtensionField
B. DataExtension
C. DataExtensionObject
D. Row
Summary:
This question focuses on identifying the correct SOAP API object for retrieving the actual data records (rows) from a Data Extension. The Marketing Cloud SOAP API has distinct objects for managing the schema (structure) of a Data Extension versus the data contained within it. The correct object is the one specifically designed for performing CRUD operations on the rows of data, not the definition of the table itself.
Correct Option:
C. DataExtensionObject:
This is the correct API object. The DataExtensionObject is used to interact with the rows of a Data Extension. Its Retrieve method allows you to fetch one or more records by specifying the Data Extension's Customer Key and using a filter to define which rows to return, making it the proper choice for retrieving a row of data.
Incorrect Option:
A. DataExtensionField:
This object is used to manage the columns (fields) of a Data Extension. It is used for retrieving, creating, or updating the schema information (e.g., field name, data type), not the data values stored in those columns.
B. DataExtension:
This object is used to manage the definition of the Data Extension itself. It is used for operations like creating a new Data Extension, setting its name, or specifying its category. It is not used for retrieving the rows of data contained within it.
D. Row:
This is not a valid standard object in the Marketing Cloud SOAP API. The correct object for row-level operations is DataExtensionObject.
Reference:
Salesforce Official Documentation: DataExtensionObject Object
A developer wants to upload a base64-encoded file to Content Builder using an API Installed Package but receives an insufficient Privileges error. What should the developer check to troubleshoot the error?
A. Validate Client Id and Client Secret are correct
B. Verify the Asset Type Id matches the Asset Type Name
C. Confirm the REST Base URI uses the correct subdomain
D. Confirm the Component's Channel options are available
Summary:
This question involves troubleshooting an "insufficient Privileges" error during an API call to Content Builder. While several issues can cause authentication failures, this specific error points directly to a problem with the application's authorization level. The credentials (Client ID & Secret) grant access, but the permissions (scopes) associated with those credentials are inadequate for the requested operation. The solution is to verify the configuration that defines these permissions.
Correct Option:
A. Validate Client Id and Client Secret are correct:
This is the correct first step. An "insufficient Privileges" error strongly indicates that the API user associated with the Client ID and Secret lacks the necessary permissions. The developer must check the Installed Package configuration to ensure the asset_create scope (or a broader scope like content or full) has been selected for the API Integration component. Correct credentials with incorrect scopes will result in this error.
Incorrect Option:
B. Verify the Asset Type Id matches the Asset Type Name:
This is related to the payload structure of the API call itself, not the authentication or authorization. An incorrect Asset Type ID would typically result in a "Bad Request" or similar validation error, not an "insufficient Privileges" error.
C. Confirm the REST Base URI uses the correct subdomain:
An incorrect REST endpoint would generally cause a connection failure, a "Not Found" error (404), or an authentication failure if pointing to the wrong tenant. It would not typically result in an "insufficient Privileges" message, which is returned after the request is received and authenticated but before authorization is checked.
D. Confirm the Component's Channel options are available:
This refers to the configuration of the Installed Package's component. The "Channel" setting defines the type of access (e.g., Web App, Public App), not the specific permissions. The core issue is the lack of assigned scopes, not the channel configuration.
Reference:
Salesforce Official Documentation: API Integration Component Settings
A developer needs to process a payload from an external system in a CloudPage. What Marketing Cloud Server-Side JavaScript Platform function should be used for converting a string payload in JSON format to a JavaScript object?
A. Base64Decode
B. ParseJSON
C. CreateObject
D. Stringify
Summary:
This question focuses on the correct Server-Side JavaScript (SSJS) function for converting a JSON-formatted string into a manipulable JavaScript object within a CloudPage. This is a fundamental step when processing data received from an external API or system, as it allows the developer to access the individual properties and values contained within the JSON structure using standard object notation.
Correct Option:
B. ParseJSON:
This is the correct SSJS Platform function. The ParseJSON function is specifically designed to take a string that is valid JSON and convert it into a native JavaScript object. Once parsed, you can access the data using dot notation (e.g., objectName.property), which is essential for processing the payload's contents.
Incorrect Option:
A. Base64Decode:
This function is used to decode a string that has been encoded using Base64 encoding. It returns a plain string, not a JavaScript object. If the JSON payload were Base64-encoded, you would need to decode it first and then use ParseJSON on the resulting string.
C. CreateObject:
This function is used to instantiate a server-side object, such as an APIObject for use with the SOAP API or other specific platform objects. It is not used for parsing a JSON string into a generic JavaScript object.
D. Stringify:
This function performs the inverse operation of ParseJSON. The Stringify function takes a JavaScript object or value and converts it into a JSON string. It is used for preparing data to be sent to an external system, not for processing incoming data.
Reference:
Salesforce Official Documentation: ParseJSON Function
A sendable data extension with a text field named 'Balance' contains the value S6.96 for a particular record. The following AMPscript statement is included in an email:
IF (Balance > 6.00) THEN
SET @Result = 'Balance is more than $6.00
ENDIF
Why would this IF statement yield unintended results?
A. The operands are not the same data type.
B. The comparison should use the < operator.
C. Balance is a protected keyword.
D. Double quotes should be used instead of single quotes.
Summary:
The IF statement produces unintended results because the 'Balance' field is stored as a Text data type in the data extension, even though its value looks numeric (e.g., "S6.96"). When AMPscript retrieves the value, it remains a string. String-to-string comparison is performed, causing "S6.96" to be evaluated as less than "6.00" due to lexicographical (alphabetical) ordering, not numerical ordering.
Correct Option:
A. The operands are not the same data type.
The field Balance is a Text field containing the string "S6.96". In the comparison Balance > 6.00, AMPscript treats Balance as a string and implicitly converts 6.00 to the string "6.00". The comparison becomes "S6.96" > "6.00", which is false because the first character "S" has a higher ASCII value than "6". This leads to the condition failing even though numerically 6.96 > 6.00. The root cause is the mismatch in data types (Text vs Number).
Incorrect Option:
B. The comparison should use the < operator.
The logic requires checking if the balance exceeds $6.00, so the greater-than (>) operator is correct. Using < would reverse the condition and produce the opposite (wrong) outcome.
C. Balance is a protected keyword.
"Balance" is not a reserved or protected keyword in AMPscript. It is a perfectly valid field name and variable name.
D. Double quotes should be used instead of single quotes.
The string literal 'Balance is more than $6.00' uses single quotes, which is the correct syntax in AMPscript. Double quotes would cause a syntax error.
Reference:
Salesforce Help – AMPscript Data Types and Type Conversion
Northern Trail Outfitters has an Enterprise 2.0 account with 15 business units. Each business unit can access a Shared Data Extension named 'Inventory', which contains the details for each product. A Boolean field named 'InStock' indicates whether the item is available. Which snippet of AMPscript would return all products which are currently available?
A. LookupRows ('Ent. Inventory*, 'true', 'InStock')
B. LookupRows ('Ent. Inventory*, itemName, 'InStock', 'true')
C. LookupRows ('Ent. Inventory*, 'InStock', 'true', )
D. LookupRows ('Inventory*, 'InStock' 'true',)
Summary:
In an Enterprise 2.0 account, shared data extensions are located in the "Ent." shared folder. The correct syntax for the LookupRows function requires: the exact data extension name (including the "Ent." prefix), the filter column name, and the value to match. To return all rows where the Boolean field InStock equals true, the minimum required parameters are the data extension name and one filter pair ('InStock', 'true').
Correct Option:
C. LookupRows('Ent.Inventory', 'InStock', 'true')
This is the correct syntax. "Ent.Inventory" is the proper external key for the shared data extension visible to child business units. The LookupRows function is used with three parameters: data extension name, filter field, and filter value. Since 'InStock' is a Boolean field, the text value 'true' (case-insensitive) correctly matches when the checkbox is checked, returning all available products.
Incorrect Option:
A. LookupRows('Ent. Inventory', 'true', 'InStock')*
Wrong parameter order and syntax. The second and third parameters are swapped — the column name must come first, then the value. Also, there is an unnecessary space and asterisk.
B. LookupRows('Ent. Inventory, itemName, 'InStock', 'true')*
This is syntactically invalid. The function mixes optional return columns (which would come after the filter) incorrectly and uses a comma before itemName without proper structure. Additionally, no such field "itemName" is mentioned in the question.
D. LookupRows('Inventory', 'InStock' 'true',)*
Multiple errors: missing the required "Ent." prefix for shared items, invalid comma placement, missing comma between parameters, and an unnecessary trailing comma.
Reference:
Salesforce Help – Shared Data Extensions in Enterprise 2.0
A developer wants to create a CloudPage which is linked from an email. %%[SET @point = RequestParameter(x) SET @value = 5 IF Length(@point) > 1 THEN SET @value = 1 ELSEIF Length(@point)>2 THEN SET @value = 2 ELSEIF Length(@point) >3 THEN SET@value = 3 ELSEIF Length(@point) >4 THEN SET @value = 4 ENDIF]%% Which is the expected value of @value if x = 'Tacos'?
A. 3
B. 1
C. 5
D. 4
Summary:
This question tests the logic flow of an IF/ELSEIF statement in AMPscript. The code checks the length of the parameter x (which is 'Tacos') against a series of conditions. The key to understanding the result is that AMPscript executes the first condition that evaluates to true and then skips all subsequent ELSEIF and ELSE blocks. The length of the string 'Tacos' is 5 characters.
Correct Option:
B. 1:
This is the correct value. The first condition, IF Length(@point) > 1, checks if the length of 'Tacos' (which is 5) is greater than 1. Since 5 > 1 is true, the code inside this IF block runs, setting @value = 1. The script then exits the conditional block entirely, and none of the subsequent ELSEIF conditions are evaluated, even though they are also mathematically true.
Incorrect Option:
A. 3:
This would be the result if the condition Length(@point) > 3 were the first true condition encountered. However, the earlier condition Length(@point) > 1 is true and is evaluated first, so the script never reaches the check for > 3.
C. 5:
This is the initial default value set for @value. It would only remain as 5 if none of the conditions in the IF/ELSEIF block were true, which is not the case here.
D. 4:
This would be the result if the condition Length(@point) > 4 were the first true condition. However, the condition for > 1 is true and is evaluated first, preventing the script from reaching the > 4 check.
Reference:
Salesforce Help – Shared Data Extensions in Enterprise 2.0
Which statements are true regarding the Marketing Cloud SOAP API?
(Choose 2)
A. More than 2000 SOAP calls can be performed per minute.
B. Most SOAP calls can be synchronous or asynchronous
C. Uses XML in request and response body.
D. Uses JSON in request and response body.
Summary:
The Marketing Cloud SOAP API is built on the legacy SOAP protocol, which uses XML for both request and response payloads. It is primarily synchronous by nature, though some objects support an optional Asynchronous request header. The API enforces rate limits far below 2000 calls per minute (typically around 120–300 depending on the account tier).
Correct Option:
C. Uses XML in request and response body.
The SOAP API exclusively uses XML format for both the request envelope and the response. This is a fundamental characteristic of all SOAP-based web services in Marketing Cloud.
B. Most SOAP calls can be synchronous or asynchronous
Many SOAP API objects support both modes via the optional
Incorrect Option:
A. More than 2000 SOAP calls can be performed per minute.
False. The standard SOAP API limit is much lower (typically 120–300 calls per hour for most accounts, or up to ~5 per second in high-tier accounts). 2000 calls per minute would far exceed documented limits.
D. Uses JSON in request and response body.
False. JSON is used by the Marketing Cloud REST API, not the SOAP API. The SOAP API always uses XML.
Reference:
Salesforce Help – SOAP API Technical Details
A developer is notified the View Email As Web Page (VAWP) link, when clicked, displays the message, The system is temporarily unavailable. We apologize for any inconvenience. Please try again later. What could be a possible cause for the error
A. The data in the data extensions used at the time of send was overwritten.
B. The email used at the time of send was deleted, updated, or moved.
C. The sender profile used at the time of send was overwritten.
D. The data extension used at the time of send was moved to another folder.
Summary 📝
The View Email As Web Page (VAWP) link works by referencing the exact content and data context of the email at the moment it was sent. This functionality relies on the Job ID and Subscriber ID to dynamically reconstruct the message. If the underlying Email asset in Marketing Cloud is deleted, moved, or updated to a new version after the send job completes, the system loses the essential reference needed to retrieve and render the static content, resulting in the generic "temporarily unavailable" error.
Correct Option ✅
B. The email used at the time of send was deleted, updated, or moved.
The VAWP link's URL contains parameters that reference the original Job ID and the Email ID (or its equivalent in the system). If the email asset is removed from its original location (moved), deleted, or overwritten by a new version (updated), the system cannot find the correct content asset linked to that specific send job. This disruption in the asset path is a primary cause for the "temporarily unavailable" error message when trying to view the static web version.
Incorrect Options ❌
A. The data in the data extensions used at the time of send was overwritten.
This is incorrect because the VAWP feature saves a static snapshot of the email content and the subscriber's personalized data at the time of send. Once the email is sent, changes to the source Data Extension data (like overwriting or updating rows) will not affect the already rendered and stored web page version.
C. The sender profile used at the time of send was overwritten.
This is incorrect. The Sender Profile primarily dictates the From Name and From Email Address. While important for the send process, changes to this profile after the send has completed will not break the ability of the system to retrieve and display the static HTML content of the email linked to the VAWP.
D. The data extension used at the time of send was moved to another folder.
This is incorrect for two reasons. First, the VAWP uses the snapshot of the data, not a live reference. Second, moving a Data Extension to a different folder generally does not break the internal system references tied to a completed send job, as the unique Data Extension Customer Key remains the same.
Reference 🔗
Marketing Cloud Email Send Information: View Email As Web Page
Northern Trail Outfitters (NTO) stores most of their customer data in Marketing Cloud. They do not mind their data being viewed in clear text within SFMC to users who have access, but they want to ensure the underlying database files are encrypted at rest in case the physical media is stolen. Which encryption method should NTO use?
A. Encrypted Data Sending
B. Field-Level Encryption
C. Tokenized Sending
D. Transparent Data Encryption
Summary:
This scenario describes a requirement for database-level security without altering how data is accessed or viewed within the Marketing Cloud application. The goal is to protect the physical database files on the server's disk from being read if the underlying storage media is compromised. This points to a solution that encrypts the entire database at the storage level, operating transparently for authorized users and applications.
Correct Option:
D. Transparent Data Encryption (TDE):
This is the correct method. TDE performs real-time encryption of the entire database at the file level, including its data files, log files, and backups. It is "transparent" because it requires no changes to the application; users with proper access in Marketing Cloud can still view and use the data in clear text, but the underlying files are encrypted and unreadable without the encryption keys, protecting against physical media theft.
Incorrect Option:
A. Encrypted Data Sending:
This refers to securing data in transit (e.g., using TLS/SSL for email or API calls), not while it is at rest in the database. It does not address the risk of stolen physical media.
B. Field-Level Encryption:
This method encrypts specific, sensitive fields (e.g., Social Security Numbers) within the database. It is not transparent, as it requires the application logic to encrypt and decrypt the data, and it would prevent the data from being viewed in clear text within the SFMC UI, which contradicts the business requirement.
C. Tokenized Sending:
Tokenization is the process of replacing sensitive data with a non-sensitive equivalent (a token) that has no extrinsic meaning. It is primarily used for securing data during transmission or for masking data in user interfaces, not for encrypting entire database files at rest.
Reference:
Salesforce Official Documentation: Data Encryption at Rest
| Page 3 out of 20 Pages |
| Salesforce-Marketing-Cloud-Engagement-Developer Practice Test Home | Previous |
Our new timed Salesforce-Marketing-Cloud-Engagement-Developer practice test mirrors the exact format, number of questions, and time limit of the official exam.
The #1 challenge isn't just knowing the material; it's managing the clock. Our new simulation builds your speed and stamina.
You've studied the concepts. You've learned the material. But are you truly prepared for the pressure of the real Salesforce Agentforce Specialist exam?
We've launched a brand-new, timed Salesforce-Marketing-Cloud-Engagement-Developer practice exam that perfectly mirrors the official exam:
✅ Same Number of Questions
✅ Same Time Limit
✅ Same Exam Feel
✅ Unique Exam Every Time
This isn't just another Salesforce-Marketing-Cloud-Engagement-Developer practice questions bank. It's your ultimate preparation engine.
Enroll now and gain the unbeatable advantage of: