Skip to main content

Marketing Cloud Next Series: Solving the Landing Page Personalization Gap - Part 1

ยท 8 min read
Stijn Hoste
Digital Practice Lead @ ConX Digital

Part 1: Data Cloud Foundations for Marketing Cloud Nextโ€‹

screenshot-2025-07-11-214128.png

๐Ÿง  Why Start Here?โ€‹

Effective personalization in Marketing Cloud Next hinges on unified, connected, and actionable data. Before we can build 1:1 experiences, we must first lay a solid data foundation in Data Cloud.

This guide will walk you through that foundational setup. By the end, youโ€™ll have a working Segment and Data Graph that will power the customer journey weโ€™ll build in later posts.

๐Ÿ› ๏ธ What You'll Buildโ€‹

In this guide, you'll learn how to complete the foundational data setup by following these steps:

  1. Create Data Streams - Import order, product, store, and customer data.
  2. Map to Data Model Objects - Map datasets to standard objects (Order, OrderItem, Product) and set up relationships.
  3. Configure Identity Resolution - Link customer identities via email and phone.
  4. Create Calculated Insights - Identify high-value customers by lifetime value.
  5. Build the Segment - Target customers who bought non-prescription sunglasses.
  6. Build the Data Graph - Connect related records across the unified profile.

๐Ÿ“‚ Sample Data for Optical Retail POCโ€‹

To demonstrate this solution, I've created a sample dataset that represents a modern optical retailer operating both brick-and-mortar locations and an online store. The dataset simulates transactions exported from their ERP (Enterprise Resource Planning) system.

๐Ÿ—‚ Download: mc_next_series_optical_shop_data.zip

What's inside:โ€‹

  • contact.csv - 200 customers with realistic names, email addresses, and UAE-format mobile numbers.

  • product.csv - 100 eyewear products โ€” a mix of sunglasses and prescription frames โ€” featuring major brands like Ray-Ban, Oakley, and Gucci. Includes SKUs and placeholder image URLs.

  • store.csv - 10 store locations across the Middle East, including malls and an online channel. Each entry includes city, country, and store type.

  • order.csv - 1,000 orders linked to customers and stores, timestamped across the past 12 months (as of July 10, 2025), with order times between 9am and 10pm to reflect normal business hours.

  • order_item.csv - 2,956 order items with product references, quantities, unit prices, and calculated totals.

๐Ÿ›ข๏ธ 1. Data Ingestionโ€‹

Create Initial Contact Data Streamโ€‹

  1. Go to Data Streams.
  2. Click New Data Stream and select File Upload.

screenshot-2025-07-10-183112.png
3. Select the file you want to upload.

screenshot-2025-07-10-183321.png

Configure the Data Stream as follows:

  • Data Lake Object Label: erp_contact
tip

It's good practice to prefix the Data Lake Object Label with an identifier for the source system.

  • Category: Profile
  • Primary Key: ContactID

screenshot-2025-07-10-192702.png

For the Data Stream name, use erp_contact.

tip

It's good practice to keep the Data Stream name the same as the Data Lake Object Label.

Leave Data Space as default.

info

As of July 10th, 2025, Marketing Cloud Growth/Advanced only supports the default Data Space.

screenshot-2025-07-10-192759.png

Configure Other Data Streamsโ€‹

Repeat the process for the remaining files using these configurations:

FileData Lake Object LabelCategoryEvent Time FieldPrimary Key
order.csverp_orderEngagementOrderDateOrderID
order_item.csverp_order_itemOther-OrderItemID
store.csverp_storeOther-StoreID
product.csverp_productOther-ProductID

๐Ÿงฌ 2. Data Mappingโ€‹

In the Mapping tab for each Data Stream, configure the mappings as follows:

Contactโ€‹

screenshot-2025-07-10-205945.png

Orderโ€‹

screenshot-2025-07-10-220146.png

info

Out of the box, there is no relationship between Sales Order and Individual.

To add the relationship:

  1. In the Relationships tab of the Sales Order Data Model Object, click Edit.

screenshot-2025-07-11-000348.png

  1. Add a new relationship: [Sales Order].[Sold To Customer] -> [Individual].[Individual Id] (N:1)

screenshot-2025-07-11-005750.png
4. Click Save and Close.

Order Itemโ€‹

screenshot-2025-07-10-212250.png

Storeโ€‹

Create the following custom fields on the Standard Sales Store Data Model Object:

Field NameData Type
CountryText
LocationText
Store TypeText

screenshot-2025-07-10-212825.png

Productโ€‹

Create the following custom fields on the Standard Master Product Data Model Object:

Field NameData Type
Is PrescriptionBoolean
Image URLText

screenshot-2025-07-10-211322.png


๐Ÿง‘โ€๐Ÿ’ผ 3. Identity Resolutionโ€‹

info

As of July 10th, 2025, Marketing Cloud Growth/Advanced only supports Unified Individuals, making Identity Resolution a hard requirement.

Create a new Rule Setโ€‹

Go to Identity Resolutions and create a new Rule Set:

screenshot-2025-07-10-224050.png
screenshot-2025-07-10-224158.png

Add Matching Rulesโ€‹

Email Match Criteria

screenshot-2025-07-10-224754.png

Phone Match Criteria

screenshot-2025-07-10-224819.png

Matching Rule

screenshot-2025-07-10-224913.png

Publish, Run, and Validateโ€‹

  1. Publish the Rule Set.
  2. Run the Rule Set.
  3. Validate that you get the following results:

screenshot-2025-07-10-225926.png


๐Ÿ“Š 4. Calculated Insightsโ€‹

Create and Select Sourceโ€‹

  1. Go to Calculated Insights.
  2. Click New Calculated Insight.
  3. Select Calculated Insight as the type and Visual Builder as the tool.

screenshot-2025-07-10-230849.png
4. Select Sales Order as the source object.

screenshot-2025-07-10-231049.png

Join Objectsโ€‹

  1. Join the Sales Order object with the Individual object using the SoldToCustomerId field.
    screenshot-2025-07-10-232134.png

Configure the join as follows:

screenshot-2025-07-10-232734.png

screenshot-2025-07-10-232558.png

screenshot-2025-07-10-232611.png

  1. Join the previous join with the Unified Link Individual object using the Individual id field.

screenshot-2025-07-10-233208.png
screenshot-2025-07-10-233225.png

screenshot-2025-07-10-233239.png

  1. Join the previous join with the Unified Individual object using the Unified Individual id field.

screenshot-2025-07-10-233455.png

screenshot-2025-07-10-233519.png

Define Aggregationsโ€‹

  1. Add an Aggregate node to calculate the total number of Sales Orders and the total amount of Sales Orders.

screenshot-2025-07-10-233636.png

  1. Configure the following Measures and Dimensions:

screenshot-2025-07-10-233931.png

screenshot-2025-07-10-233955.png
screenshot-2025-07-10-234009.png

warning

Make sure to select the Unified Individual object as the Source Object for the Unified Individual Id field.

screenshot-2025-07-10-234031.png

Save, Schedule, and Publishโ€‹

  1. Save it as Customer Lifetime Value.

screenshot-2025-07-10-234238.png

  1. Schedule it to run every hour.

screenshot-2025-07-10-234407.png

  1. Click Publish Now.

screenshot-2025-07-10-234545.png


๐ŸŽฏ 5. Segmentationโ€‹

Create and Name the Segmentโ€‹

  1. Go to Segments.
  2. Click New Segment.

screenshot-2025-07-10-235511.png
3. Name it Bought Sunglasses Without Prescription and select Unfied Individual as the Object to segment on.

info

As of July 10th, 2025, Marketing Cloud Growth/Advanced only supports Unified Individuals as the Object to segment on.

screenshot-2025-07-10-235604.png

Configure and Activate the Segmentโ€‹

  1. Define the Segment criteria.

screenshot-2025-07-10-235409.png

  1. Apply the following (simplified) filter:
    • Customers having at least one order with a product where Is Prescription = false.
warning

Pay attention to the path of the filter. It's Sales Order -> Sales Order Product -> Master Product -> Is Prescription = false.

screenshot-2025-07-11-231945.png

  1. Save and Activate the Segment.

๐ŸŒ 6. Data Graphโ€‹

info

As of July 10th, 2025, Marketing Cloud Growth/Advanced requires the following objects to be present in the Data Graph for emails to send out successfully:

  • Unified Individual (Primary Data Model Object)
    • Unified Link Individual
      • Individual
        • Contact Point Email
        • Contact Point Phone

The following fields must be selected during the Data Graph setup:

  • Individual ID from Individual (selected by default)
  • Email Address from Contact Point Email
  • Telephone Number from Contact Point Phone (interestingly, here Telephone Number is required, but when mapping Profile data into the Individual Data Model Object, it's not required, while Formatted E164 Phone Number is required)

Source: Salesforce Documentation

Create and Configure the Data Graphโ€‹

  1. Go to Data Graphs.
  2. Click New Data Graph.
  3. Follow the steps as shown in the screenshots and name the Data Graph MCGA.

screenshot-2025-07-11-002323.png
screenshot-2025-07-11-002344.png

screenshot-2025-07-11-002434.png

Add Required Objects and Fieldsโ€‹

screenshot-2025-07-11-012756.png

screenshot-2025-07-11-012817.png

screenshot-2025-07-11-012851.png

screenshot-2025-07-11-012912.png

screenshot-2025-07-11-012932.png

screenshot-2025-07-11-012958.png

screenshot-2025-07-11-013023.png

screenshot-2025-07-11-013048.png

screenshot-2025-07-11-013112.png

Add Calculated Insight to the Data Graphโ€‹

Add the "Customer Lifetime Value" Calculated Insight that we created earlier to the Data Graph.

screenshot-2025-07-11-013147.png

screenshot-2025-07-11-013213.png

Build and Schedule the Data Graphโ€‹

  1. Click Save and Build and set the Refresh Interval to 30 minutes.

screenshot-2025-07-11-014131.png

Configure the Data Graph in Marketing Cloud Setupโ€‹

  1. Navigate to Setup / Marketing Cloud / Assisted Setup / Reporting and Optimization / Customer Engagement.
  2. In the Configure Basic Personalization section, click the Data Graph drop-down.
  3. Select the Data Graph you created in this step.
info

When you configure a Data Graph for Basic Personalization in setup, it creates a permanent link between that Data Graph and any emails that use it.

If you later switch to a different Data Graph, you'll need to rebuild from scratch any emails that were using the original Data Graph. Simply cloning those emails won't work, as cloned emails maintain their connection to the original Data Graph they were created with.

screenshot-2025-07-11-231136.png


๐Ÿš€ Next Upโ€‹

In Part 2, we'll use the Segment and Data Graph we created here to build a personalized campaign in Marketing Cloud Growth. We'll configure a segment-triggered Flow that sends targeted emails with dynamic URL parameters, carrying customer and product context to our landing page. You'll learn how to set up the brand, create compelling email content, and activate your audience with a tailored upgrade offer.

โฌ…๏ธ Back to Series Overview