Dynamic Content

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

  • Emails
  • Landing Pages
  • Snippets

Overview

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.

Example

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.

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

This will set the section to be a Dynamic Content section, segmented by segmentation 1001, with the default set as a simple nonspecific promotional banner image.  To add content for individual segments, we need to call the Update Dynamic Content endpoint for the specific section.

This will set 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.

Segmentation

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.

List

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.