certified-marketing-cloud-developer Sample Questions

certified-marketing-cloud-developer Sample Questions & Answers

Focuses on AMPscript and server-side JavaScript, by far the biggest weight, plus API objects, methods and OAuth tied with import activities and SQL queries, how data extensions fit the contact model, and data security options.

Launch the full certified-marketing-cloud-developer simulator →

Free certified-marketing-cloud-developer Sample Questions with Answers

Real questions from the Salesforce Certified Marketing Cloud Engagement Developer practice test — answers and explanations included. Showing 10 of 20 free samples.

  1. Question 1Advanced

    Security · Secure CloudPage Development

    Northern Trail Outfitters (NTO) is launching a 'Track Your Order' CloudPage for customers. The page will accept an Order ID from a URL parameter (.../track?order=12345) and display sensitive order details, including the customer's shipping address and the items purchased. The development team is concerned about security, specifically preventing unauthorized users from guessing Order IDs and viewing other customers' data.

    The initial plan is to use RequestParameter("order") to get the Order ID, then use LookupRows() on the Orders_DE to retrieve the details. The Orders_DE contains OrderID, CustomerID, ShippingAddress, and OrderDetails. To ensure the page is only viewed by the intended recipient, the links are sent in a transactional email and contain the subscriber's SubscriberKey as another parameter (...&subKey=XYZ).

    The security team has mandated that a user accessing the page must be the actual customer associated with the order. They have also flagged potential Cross-Site Scripting (XSS) vulnerabilities if order details are displayed directly.

    Show answer & explanation

    Correct answer: D

    This is the most secure and efficient solution. It validates authorization by including both the OrderID and the CustomerID in the lookup criteria, ensuring only the correct owner can view the data. It also prevents XSS by using AttributeValue() to safely encode all data before rendering it as HTML.

  2. Question 2Intermediate

    Programmatic Languages · Programmatic Exclusions

    A developer needs to prevent an email from being sent to a subscriber if their Status field in the sendable data extension is 'Inactive'. The check must be performed at send time.

    To accomplish this, the developer should use the _____(1, "Subscriber status is inactive") function in an AMPscript block within the email body.

    Show answer & explanation

    Correct answer: C

    RaiseError() is the correct AMPscript function used to halt processing for an individual subscriber and prevent the email from being sent to them. The first parameter is a boolean that indicates whether to log the error as a send error, and the second is the error message.

  3. Question 3Intermediate

    Data Modeling · Shared Data Extensions

    A company has a multi-brand architecture using separate Marketing Cloud Business Units (BUs) for each brand. They need to maintain a single, centralized data extension of all customers who have opted out of communications across all brands. This 'Global Unsubscribe' list must be accessible for suppression in sends from every BU.

    Show answer & explanation

    Correct answer: A

    This is the standard and best practice for this use case. Shared Data Extensions are specifically designed to allow data to be accessed and utilized across all Business Units in an Enterprise 2.0 account. This allows for centralized management of suppression lists.

  4. Question 4Advanced

    API · REST API Bulk Operations

    A developer is building an integration that programmatically creates and updates hundreds of assets (emails, templates, content blocks) in Content Builder. After implementing the logic using the REST API, they notice the process is slow and occasionally fails with 429 Too Many Requests errors. The current implementation sends one API request per asset.

    Show answer & explanation

    Correct answer: D

    This is the correct solution. The batch endpoint is specifically designed to handle bulk create/update operations on assets. By bundling up to 25 asset payloads into a single API call, the developer can drastically reduce the number of requests, improve overall performance, and avoid hitting rate limits.

  5. Question 5Beginner

    Programmatic Languages · AMPscript Conditional Logic

    A marketing email needs to display a personalized greeting, "Hi [FirstName]," but must fall back to "Hi Valued Customer," if the FirstName attribute is empty or does not exist for a subscriber.

    Show answer & explanation

    Correct answer: B

    This is the most concise and robust solution. AttributeValue("FirstName") correctly retrieves the attribute. Empty() checks for both NULL and empty string values. The IIF() function provides a clean, inline way to specify the output for both the true and false conditions.

  6. Question 6Advanced

    Data Management · SQL Queries with Data Views

    A data analyst needs to create a targetable data extension containing customers who have opened any email in the last 90 days but have NOT clicked any email in the last 180 days. The analyst must use the system Data Views.

    Show answer & explanation

    Correct answer: C

    This is the most performant and correct solution. It finds all recent openers, attempts to join them to recent clickers, and the WHERE c.SubscriberKey IS NULL clause effectively filters for only those openers who have no matching click record. This 'anti-join' pattern is highly efficient in SFMC.

    graph LR subgraph _Open (Last 90 Days) A[Subscriber A] B[Subscriber B] end subgraph _Click (Last 180 Days) B[Subscriber B] C[Subscriber C] end A -- LEFT JOIN --> NoMatch((NULL)) B -- LEFT JOIN --> B Result(Keeps only A) --> FinalDE

  7. Question 7Intermediate

    Programmatic Languages · AMPscript Performance Optimization

    During a code review, a senior developer points out that a block of AMPscript is making repeated Lookup() calls inside a FOR loop to retrieve the same piece of information for every row being processed. This is causing significant performance degradation in email rendering.

    Show answer & explanation

    Correct answer: B

    This is the correct optimization strategy. By fetching the data once before the loop starts, the expensive database operation is avoided on each iteration. The script can then reference the value from the variable in memory, which is significantly faster.

  8. Question 8Intermediate

    API · OAuth Authentication and Scope

    True or False: When using the Marketing Cloud REST API with OAuth 2.0, a single access token can be used to make API calls to any Business Unit (BU) within the Enterprise 2.0 account, provided the API package has been granted access to those BUs.

    Show answer & explanation

    Correct answer: A

    This is true. The access token is associated with the installed package at the enterprise level. The scope of what that token can do is defined by the package's configuration, including which BUs it has access to. A single token can then be used to target different BUs by specifying the BU's MID, typically in the request payload or as part of the endpoint for certain routes.

  9. Question 9Intermediate

    Data Modeling · Data Extension Schema Design

    Cumulus Health, a healthcare provider, needs to manage patient communication preferences in Marketing Cloud. They have a primary Patients data extension with PatientID as the Subscriber Key. They need to store preferences for multiple communication types (e.g., 'Newsletter', 'AppointmentReminders', 'HealthTips') and multiple channels (e.g., 'Email', 'SMS'). A patient can have different opt-in statuses for each combination of communication type and channel.

    The data architecture team is debating two approaches for storing this granular preference data.
    Approach 1: A single, 'wide' Patient_Preferences DE with columns like PatientID, Newsletter_Email_OptIn, Newsletter_SMS_OptIn, AppointmentReminder_Email_OptIn, etc.
    Approach 2: A 'narrow' or 'normalized' Patient_Preferences DE with three columns: PatientID, PreferenceType (e.g., 'Newsletter_Email'), and OptInStatus (e.g., 'true'/'false'). This would result in multiple rows per patient.

    The solution must be scalable, as new communication types and channels will be added in the future. It also needs to be efficient for AMPscript lookups within emails.

    Show answer & explanation

    Correct answer: B

    This normalized approach is the best practice for scalability. It allows for the addition of unlimited new preference types without ever needing to change the DE's structure. Data is managed by adding or updating rows. A LookupRows() call on an indexed PatientID is very efficient for retrieving all of a patient's preferences for personalization.

  10. Question 10AdvancedSelect 3

    Programmatic Languages · Core vs Platform SSJS Libraries

    A developer is working with both Platform and Core SSJS libraries within a Script Activity. They need to perform several actions: 1) Initialize a Data Extension object, 2) Make an outbound HTTP GET request to an external API, 3) Parse a JSON response from that API, and 4) Set a variable that can be used by a subsequent activity in the Automation. Which THREE of the following SSJS functions or objects would be required to accomplish these tasks? (Select THREE)

    Show answer & explanation

    Correct answers: B, C, D

    This Platform library function is used to initialize a data extension object by its external key, which can then be used to perform actions like adding or updating rows.

    This Core library function is used to make an outbound HTTP GET request to a specified URL, which is necessary for interacting with an external API.

    This Platform library function is used to set the value of an automation variable (e.g., @myVar) that can be accessed by subsequent activities in the same automation workflow.

Ready for the real thing?

The full certified-marketing-cloud-developer simulator has every exam-style question, timed mode, and instant scoring.