Programmatic Languages35% of the exam
AMPscript lookups, rowsets and CloudPages writes
Lookup, LookupRows and LookupOrderedRows signatures and limits, walking rowsets with RowCount, Row, Field and For loops, the email versus CloudPages write functions, encrypted CloudPagesURL links, Smart Capture and custom preference pages, and recording unsubscribes with LogUnsubEvent.
Given a scenario, demonstrate knowledge of AMPscript and SSJS language syntax and functions.
~8 min read · 7 practice questions ·
What the exam expects
- Choose Lookup(), LookupRows() or LookupOrderedRows() (and the CS variants) from what a message needs, and pass their arguments in order.
- Read loops over rowsets: RowCount(), Row(), Field(),
toanddownto, and single-column rowsets from strings. - Pick the right data extension write for an email or a CloudPage and predict what it returns.
- Link to CloudPages with encrypted parameters and read them on the page.
- Build data forms and custom preference pages on CloudPages, and record an unsubscribe from code.
- Key terms: rowset (tabular data a lookup or builder function returns); ordinal (a column referred to by number); columnValuePairs (the count of search pairs an update or upsert matches on); CloudPagesURL() (a page link with an AES-GCM encrypted query string); LogUnsubEvent (the Execute call that unsubscribes a subscriber and logs an UnsubEvent).
Key facts
Lookup() with several matches
- Detail
- Returns the first matching value
LookupRows()
- Detail
- Unordered, up to 2,000 rows, case-insensitive
LookupOrderedRows() numRows
- Detail
- Below 1 returns all rows, up to 2,000
Row() position
- Detail
- The first row is row 1
Field() missing column
- Detail
- Exception by default;
falsereturns an empty string
downto- Detail
- Counter decreases by one on each
Next
UpsertData() columnValuePairs
- Detail
- Counts search pairs; a mismatch raises an exception
CloudPagesURL()
- Detail
- AES-GCM encrypted query string; reserved names such as MID and JID
Preference form guard
- Detail
- Save only when a submit-only field is present
LogUnsubEvent without job context
- Detail
- No UnsubEvent; the subscriber is master unsubscribed
LogUnsubEvent ListID
- Detail
- Subscriber or publication lists, not suppression lists
Smart Capture in journeys
- Detail
- Multistep journeys only
Sources for this section (11)
- Lookup()developer.salesforce.com (opens in a new tab)
- LookupRows()developer.salesforce.com (opens in a new tab)
- LookupOrderedRows()developer.salesforce.com (opens in a new tab)
- Row()developer.salesforce.com (opens in a new tab)
- Field()developer.salesforce.com (opens in a new tab)
- For Loopsdeveloper.salesforce.com (opens in a new tab)
- UpsertData()developer.salesforce.com (opens in a new tab)
- CloudPagesURL()developer.salesforce.com (opens in a new tab)
- Custom Profile Centerdeveloper.salesforce.com (opens in a new tab)
- LogUnsubEventdeveloper.salesforce.com (opens in a new tab)
- Smart Capture Formhelp.salesforce.com (opens in a new tab)
- What does LookupOrderedRows() return when no row matches the search values?
- How do you sort a LookupOrderedRows() rowset by two columns?
- When does LookupOrderedRows() return every matching row, up to 2,000?
- When does LogUnsubEvent master unsubscribe a subscriber instead of unsubscribing them from a list?
- Why does a For loop written with
downtocount backwards?
The questions are free to read. Answers with their sources and self-grading are included with the pack.
Keep reading with the Marketing Cloud Engagement Developer pack
- Core concepts
- Exam traps
- Worked scenario
The pack includes:
- All 25 lessons of the Marketing Cloud Engagement Developer guide, with reading progress
- Interactive decision walks and step-by-step sequence steppers
- Practice exams purchase adds inline bank questions and topic practice (7 questions for this lesson)
- An official source cited for every claim
- An AI tutor that answers from the guide
- Choose guide-only, practice-only, or save $4 with both