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.

Official exam objective
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(), to and downto, 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; false returns 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)
  • 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 downto count 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

Practice for the Marketing Cloud Engagement Developer exam