# Contact data links for personalized journeys and content

*Marketing Cloud Engagement Consultant Study Guide · Integration · Last updated November 3, 2026 · https://www.certifyforce.com/study-guide/marketing-cloud-engagement-consultant/integration/contact-data-links-for-personalized-journeys-and-content*

How Data Designer links, cardinality and data types decide which row a journey evaluates, when to use journey data or contact data, and what the sending data extension must hold for dynamic content, personalization strings and web versions.

- Certification: Salesforce Marketing Cloud Engagement Consultant
- Exam section: Integration
- Study guide: https://www.certifyforce.com/study-guide/marketing-cloud-engagement-consultant

**Official exam objective:**

> Articulate how data model will support personalized and relevant messaging and content.

## What the exam expects

- Predict which linked row a journey filter, decision split, goal or wait by attribute evaluates, and fix the design when it picks the wrong one.
- Choose the cardinality, population and attribute group design that one-row-per-contact personalization needs, and judge the impact of changing it.
- Choose between journey data and contact data for a decision made later in a journey.
- State what the sending data extension must contain for dynamic content, personalization strings and View as a Webpage to work.
- Key terms: **cardinality** (how two linked data extensions relate: one-to-one, population, one-to-many, many-to-many); **population** (a primary group of contacts, one row per contact); **attribute group** (several linked data extensions organized as one entity); **journey data** (the entry snapshot); **contact data** (point-in-time data from Data Designer).

## Key facts

| Fact | Detail | Source |
|---|---|---|
| Rows per contact in journeys | 1,000 or fewer; later rows aren't evaluated | [Linked Data Extensions](https://help.salesforce.com/s/articleView?id=mktg.mc_jb_data_relationships.htm&type=5&language=en_US) |
| Attribute-to-attribute comparison | Decision splits and event entry sources | [Linked Data Extensions](https://help.salesforce.com/s/articleView?id=mktg.mc_jb_data_relationships.htm&type=5&language=en_US) |
| Goals and wait by attribute | Use the first matching value | [Linked Data Extensions](https://help.salesforce.com/s/articleView?id=mktg.mc_jb_data_relationships.htm&type=5&language=en_US) |
| Many-to-many in journeys | Not recommended; use an intermediate data extension | [Linked Data Extensions](https://help.salesforce.com/s/articleView?id=mktg.mc_jb_data_relationships.htm&type=5&language=en_US) |
| Populations | One row per contact, on ContactKey; three or fewer per account | [Data Designer](https://help.salesforce.com/s/articleView?id=mktg.mc_cab_data_designer.htm&type=5&language=en_US) |
| Numeric IDs | Can't link directly to Contact Key; use a string type | [Contact Builder Best Practices](https://help.salesforce.com/s/articleView?id=mktg.mc_cab_contact_builder_best_practices.htm&type=5&language=en_US) |
| Journey data | Entry snapshot that never changes | [Journey Data or Contact Data](https://help.salesforce.com/s/articleView?id=000390236&language=en_US&type=1) |
| Contact data with no contact key found | Field updated with an empty string | [Journey Data or Contact Data](https://help.salesforce.com/s/articleView?id=000390236&language=en_US&type=1) |
| Dynamic content rules | First matching rule wins; no match shows the default | [Dynamic Content](https://help.salesforce.com/s/articleView?id=mktg.mc_ceb_dynamic_content.htm&type=5&language=en_US) |
| Empty personalization attribute | Appears blank; define a default | [Personalization Strings](https://help.salesforce.com/s/articleView?id=mktg.mc_es_personalization_strings.htm&type=5&language=en_US) |
| View as a Webpage on a DE send | Reads the row live when it renders | [List vs. Data Extension](https://help.salesforce.com/s/articleView?id=mktg.mc_es_list_versus_data_extension.htm&type=5&language=en_US) |

## Check yourself

- Why can a Date attribute link to a Text attribute but not to a Number attribute?
- When several Data Designer paths lead to the same data extension, which one does contact data in an Update Contact activity use?
- How does a dynamic content rule evaluate a subscriber whose attribute is empty?
- Why can a Data Designer link from a Number field to Contact Key fail?

## Sources

- [Linked Data Extensions in Journey Builder](https://help.salesforce.com/s/articleView?id=mktg.mc_jb_data_relationships.htm&type=5&language=en_US)
- [Data Designer in Contact Builder](https://help.salesforce.com/s/articleView?id=mktg.mc_cab_data_designer.htm&type=5&language=en_US)
- [Contact Builder Best Practices](https://help.salesforce.com/s/articleView?id=mktg.mc_cab_contact_builder_best_practices.htm&type=5&language=en_US)
- [Use Journey Data or Contact Data in an Update Contact Activity](https://help.salesforce.com/s/articleView?id=000390236&language=en_US&type=1)
- [Dynamic Content](https://help.salesforce.com/s/articleView?id=mktg.mc_ceb_dynamic_content.htm&type=5&language=en_US)
- [Personalization Strings in Marketing Cloud Engagement](https://help.salesforce.com/s/articleView?id=mktg.mc_es_personalization_strings.htm&type=5&language=en_US)
- [Email Studio List vs. Email Studio Data Extension](https://help.salesforce.com/s/articleView?id=mktg.mc_es_list_versus_data_extension.htm&type=5&language=en_US)
- [Data Extensions in Contact Builder](https://help.salesforce.com/s/articleView?id=mktg.mc_cab_data_extensions.htm&type=5&language=en_US)
- [Understand Contacts and Contact Model Relationships (Trailhead)](https://trailhead.salesforce.com/content/learn/modules/marketing-cloud-contact-management/understand-contacts-and-contact-model-relationships)

## About the full unit

The "Core concepts", "Exam traps" and "Worked scenario" sections of this unit, its 16 linked practice questions, and unlimited timed mock exams are included with the Marketing Cloud Engagement Consultant pack (USD $19): https://www.certifyforce.com/practice-exams
