Dynamic Content

Marketo facilitates the usage of dynamic content through lead segmentation on multiple asset types:

  • Emails
  • Landing Pages
  • Snippets


Dynamic content is implemented at the section level, by designating specific variations of a section to be served to a lead based on their qualification in a segment within a chosen segmentation.  If a piece of content is configured to serve dynamic content based on a certain segmentation, then a lead seeing that content will be served the content variation which matches the segment that they fall in, or the Default content, if they do not qualify for a segment.


To demonstrate, let’s look at an email example, where we have a Region (US) segmentation, and want to display an event promotion only for leads who fall in the Southwest segment, which includes California, Nevada, Utah, Colorado, Arizona and New Mexico leads.  To do this, we’ll make an editable section in our email with id “Q1-promotion-banner” into a DynamicContent section.  To do this we need to use the Update Email Content Section endpoint for our email.  The value parameter is used to specify the Id of the segmentation.

Note: Both Emails and Landing Pages follow this pattern.  Snippets have a somewhat different pattern, detailed in the Snippets API documentation.

The following example sets the section to be a Dynamic Content section, segmented by segmentation 1001.

To add content for individual segments, we need to call the Update Email Dynamic Content Section endpoint for the specific section.

The following example sets the section to show our special banner image for leads in the Southwest segment instead of the default.  If we wanted to create more variations for more segments, then we would call this endpoint again for each segment and section.


Segmentations are the core of Marketo dynamic content.  A segmentation is a user-defined list of individual sets of rules which are evaluated from top to bottom against the entire lead database.  A lead may only be a member of one segment in each segmentation, and will be a member of the first one that it qualifies for in each segmentation.  If it does not qualify for a segment, then it will be a member of the Default segment, and will receive the default content for any given piece of dynamic content using that segmentation.


Segmentations have a list endpoint that will return a response with a list of available segmentations.

Segmentations also have an endpoint that will return a response with a list of segments from a parent segmentation.