in implementation guides ~ read.
Mc Cab Implementation Guide

Mc Cab Implementation Guide


First things first !
To download this implementation guide, click the download button below.
If you need more information about the implementation guide, you can read the Table of Contents below.


Contact Builder Implementation
Salesforce Spring

Last updated January

Copyright Salesforce Inc All rights reserved Salesforce is a registered trademark of Salesforce Inc as are other

names and marks Other marks appearing herein may be trademarks of their respective owners


Contact Builder Implementation Guide
Set Up Contact Builder
Contact Builder Use Case
Contact Builder Best Practices


The Contact Builder app provides access to contact data in your account and to the relationships designed to help you use that data
Use Contact Builder to manage consolidate organize and link data from all Marketing Cloud apps and external sources

Who This Guide Is For
This guide is for Marketing Cloud admins partners and developers to implement Contact Builder and configure specific features

Before You Start
Contact Builder is available in all editions of Marketing Cloud However Email Studio does not leverage the contact model

Set Up Contact Builder
Review this information and follow these steps to set up Contact Builder in your Marketing Cloud account

Contact Builder in Marketing Cloud Engagement
The Contact Builder app provides access to contact data contained within your account and the relationships designed to help you use
that data Use Contact Builder to manage consolidate organize and link data from all Marketing Cloud Engagement apps and external

Enterprise resource planning ERP systems

Customer relationship management CRM systems

PointOfSale POS systems

Contact Builder provides a single view of a customer that displays their interactions with your brand You can use the collected information
to personalize customer conversations at any size in any channel That single view of the customer can contain the mobile number

necessary to send SMS messages the email address to send email messages and the mobile device identification used for sending push

messages All associated address subscription and tracking information associated with activities and journeys relate back to that single
contact record
Contact Builder provides several tools used to manage contact data for use in building relationships
Contacts ConfigurationDetermine how Contact Builder processes imported contact information
Data DesignerDefine information about your contacts and relate that data directly to the contact record by linking data extensions
Data ExtensionsCreate and manage the data extensions that hold contact information
ImportsCreate the processes that move contact information into your data extensions
Data SourcesVisualize where your contact data originates and assign attributes to those sources

Contact Builder Implementation Guide

Journey and Contact Data

Journey and Contact Data
Journey data preserves the state of a contacts data at the moment an entry event fires facilitating the use of that data throughout a
journey Contact data captures the data values in the event source data extension at the time when Journey Builder evaluates it Both
are uniquely useful in journey creation
Journey Data

Contact Data

Initial data value about a customer

Current data value about a customer

Provides attributes in the state they were in when the contact
entered the journey

Provides attributes in the state they are in when evaluation occurs
after the entry event has fired

Comprised of event data and activity data
Use when a contact is likely to exist in a journey more than once
Use for comparison when a data value is expected to change

For some customer journeys its useful to filter against the initial data about a customer That data value often qualifies the customer to
enter the journey even if it later changes For example the journey data about a customer shows that the first purchase was decaffeinated
coffee Even if the customer doesnt purchase that coffee again you can use that data as a filter in a journey to market a new coffee
For other journeys its necessary to filter against the most recent customer data For example the contact data about a customer shows
a purchase of a new regular coffee flavor This information is useful to filter against in a journey to market a sale on that flavor
Journey data is the information about a contact that is brought in when the contact enters a journey Its like a snapshot of the contacts
attribute data at the moment the contact is added to the journey Contact data is updated as the journey goes on but journey data is
not Use the different types of data to present before and afterdata points in personalization strings or to detect changes in an attribute
You can use both journey data and contact data when filtering in entry events as well as decision splits and message personalization
Events can either be journeyspecific or shared Create a shared event in Entry Source Administration and use it in one or more journeys
The journeyspecific event must be used in the journey within which its configured

Create a Population in Contact Builder
Create a population in Marketing Cloud Engagement Contact Builder
From Contact Builder open Data Designer
Click the arrow next to Create Attribute Group and select Create Population
Follow the prompts to select a data extension in Contact Builder

Use a data extension with a primary key value and link to the contact record on the Contact ID or Contact Key attribute A population

requires a relationship You cant link a data extension set as a population to an attribute set

Create an Attribute
Follow these steps to create an attribute in Contact Builder
Create an attribute either directly on the contact record or within an attribute group
To access data extensions you create follow the directions in this step
a Click the Data Extensions tab

Contact Builder Implementation Guide

Data Extension Linking in Contact Builder

b To edit and click the data extension name navigate to the data extension
To access data extensions or tables created by the system such as MobileConnect Demographics or MobilePush Demographics
follow the directions in this step
a On the Data Designer page click the attribute group containing the data extension or table to edit
b Click View Edit
c Hover over the name of the data extension or table
Click the


Click Create Attribute
Enter a descriptive name for your attribute in the Attribute Name field
Select the data type for the attribute in the Data Type dropdown menu
To encrypt the data in the attribute choose the Encrypt Data checkbox After you add records to this attribute you cant change the
encryption setting
For text attributes you can select different options to mask the values presented in the text Choose the checkbox under the Type
dropdown menu and select your masking options
Mask all characters
Mask all except for first word
Mask all except for last character
Mask all except for last characters
Mask all except for last word
To assign a default value to an attribute enter that value in the Default Value field The default value must match the data type for
the attribute
Select whether the attribute must contain a value for the contact using the Required and Not Required buttons
Click Complete

Data Extension Linking in Contact Builder
Link data extensions in Contact Builder to relate data in existing data extensions to either the contact record or another data extension
Start your process by linking at least one data extension to a contact record
Contact Builder prompts you to select a data extension to link to the contact record
Your available data extensions appear in the modal Select the data extension you wish to link
With this step you create your data model in an attribute group To most effectively organize your data select and link all data
extensions that contain information about the specified topic
Tip The word Contact is a reserved word As a result you cant link a data extension called Contact to an attribute group in Data

Tip Data Designer doesnt support linking data extensions with nonGSM characters

Contact Builder Implementation Guide

Data Source Creation in Contact Builder

Select Cardinality
When linking data extensions you must select the cardinality of the relationship You can specify onetoone manytoone or
manytomany relationships These relationships define how attributes within the data extensions relate to each other

Link Attributes
Link attributes by selecting an attribute from the contact record and the data extension to link You must select attributes with the same
data type but you dont have to select attributes with the same name
After you link at least one data extension to the contact record link all data extensions related to the attribute group You can link
subsequent data extensions to the contact record or to other data extensions to build complex relationships
To view and edit relationships between data extensions hover over the link icon
to link and edit your data extensions hover over the slideout menu You can also remove the data extension from the data model
without deleting the data extension
You can also use events to bring behavioral information into Contact Builder This information can help you segment and better target
marketing activities toward your contacts

Data Source Creation in Contact Builder
Data Sources establish where the data contained within Contact Builder originates You can assign attributes to these data sources and
view precisely how data enters your account and how you can best use that data
Contact Builder includes synchronized and custom data sources Synchronized data sources enable access to data from other Salesforce
clouds Custom data sources help you identify other external sources of data
Use the Data Extension screen to access and manage data extensions within Contact Builder

Data Import
You can import contact data into Marketing Cloud Engagement You can also save and reuse import definitions that bring information
into Contact Builder
To ensure compliance with corporate privacy policies and government regulations you can choose to mask or encrypt data Masking
prevents data from displaying to other Engagement users Encryption encrypts all data stored in Engagement
Contact your account executive for more information about enabling these features

Contact Builder Access

A Marketing Cloud Engagement admin can restrict which Marketing Cloud Engagement users can access Contact Builder

Modify the user permissions for each user to determine their level of access
AccessUser can access the Contact Builder app
View All ContactsUser can view contact information in Contact Builder
Delete ContactsUser can delete contact records from Contact Builder
Administer Contact Data ModelUser can change data relationships for attributes groups and other entities in Contact Builder

Contact Builder Implementation Guide

Contact Deletion in Contact Builder

Contact Deletion in Contact Builder
To remove contact information from Marketing Cloud Engagement for any reason including compliance regulations delete contacts
from Contact Builder This feature applies only to contacts in Email Studio All subscribers MobileConnect MobilePush and Contact

Enable Contact Delete for your account in the Contact Configuration section of Contact Builder For Enterprise accounts enablement
occurs at the parent account level for the entire organization
When enabled this feature operates differently for different types of tenants
Enterprise accounts require deletions to originate from the parent account
LockandPublish accounts isolate deletions to that account no matter which accounts exist in the larger structure
OnYourBehalf accounts require deletions to originate in the parent account and cascade to child accounts
Agency and Agency Client accounts isolate deletions to that account no matter which accounts exist in the larger structure
All contact deletion processes are final and Engagement cant restore deleted contact information

The process includes a day default period where Contact Builder suppresses contact information from showing in channel apps such
as Email or MobileConnect You can change the length of this time period in your account The information remains in your account
but you cant view contact records or access it for send activities After the period elapses we delete contact information for deleted
contacts from lists and sendable data extensions This process doesnt apply to any nonsendable data extensions not included in a
population via Data Designer Youre responsible for deleting applicable information from those sources on your own

Contact Builder Implementation Guide

Contact Builder Use Case

Deletion process initiated
Suppression periodContact information remains in your account but you cant view or access it
Final deletionEngagement removes deleted contact information from your account
Note If you delete a contact using Contact Delete in Contact Builder we remove all contact information from all your sendable
data extensions in your account This removal includes any tracking or preference information If this contact is added back into

Contact Builder at a later time the record receives a brand new unique ID and doesnt retain any of the previous contact records


MobileConnect and MobilePush Contact Deletion
By deleting this contact you also delete all optout preferences associated with that contact As a result if you reintroduce this contact
into Engagement previous optout preferences stored for this contact arent reinstated If you reimport the contact you must also import
the contacts optout status or that information is lost Ensure that you receive express permission to send messages to an individual
before you import or reimport the contact into Engagement Honor the individuals prior optouts and confirm that your messaging
complies with all applicable laws

Its assumed that all MobilePush contact deletions are associated with a compliance deletion based on GDPR or other regulatory

requirements The MobilePush SDK and platform restrict future push notification registrations from that contacts specified mobile device

To reestablish themselves as a contact the contact must delete and reinstall the mobile app on their device

If a contact texts a STOP keyword on a valid code they receive a stop confirmation message if one is configured and their subscription

status isnt changed Prevent returning a response to STOP requests by selecting the Suppress STOP response option in the administration

section in MobileConnect

Synchronized Data Sources Contact Deletion
For Synchronized Data Sources delete the information from the original data source in Sales Cloud Service Cloud or another cloud This
action deletes the corresponding record in the Synchronized Data Extension but it doesnt delete the contact record from Engagement

Contact Builder Use Case
This use case demonstrates an effective process to set up Contact Builder in your Marketing Cloud account

Use Contact Data in a Journey
To use contact data in a Marketing Cloud journey create a population and link an orders data extension
This example uses a master subscriber data extension and an orders data extension that is common in retail settings The master subscriber
data extension contains contact information and the orders data extension contains information related to previous and current orders

made by those contacts Both data extensions contain a CustomerID field used to identify contacts

In Marketing Cloud click Audience Builder and select Contact Builder
Click Data Designer
Click Populations
Click Create Population
Select the subscriber master data extension
Relate the SubscriberKey field to your ContactKey field and click Create

Contact Builder Implementation Guide

Contact Builder Best Practices

Click Data Designer
Click Create Attribute Group
Choose a name and icon for your attribute group
Click Create
Click Link Data Extensions
Select the population you created for the first entity Select the orders data extension for the second entity

Link the CustomerID field in the data extensions

Click Save
Use this data model to build out journeys and execute decision splits

Contact Builder Best Practices
Contact Builder helps you maintain the contact information you use to identify individual contacts across multiple channels and personalize
messaging and marketing activities To ensure that your marketing activities function make sure that all contact information relates to
a single contact record

Use a Single Contact Key
Contact Builder uses a single contact key value to identify a contact within a Marketing Cloud Engagement account This value is identical
to the subscriber key in Email Studio Use the contact key value to assign information from several communication channels such as
mobile numbers and email addresses to a single contact record Follow these best practices to implement a unique contact key for each
Use a unique value that doesnt relate to a specific channel If you import a value from an external data source use a stringbased
field even if the external data source uses a number as the unique identifier If you use your Engagement account to gather data

consider using a GUID or other generated ID in a string field as the contact key value

Use a contact key value that doesnt change based on customer behavior For example a physical address makes a poor contact key
value as it can potentially apply to several people or change frequently
To maintain consistent contact information and implementation use the subscriber key value in Email Studio as your unique contact
key value in Contact Builder
When taking your information from an external information source use the unique identifier from that system as your contact key
to ensure consistent data imports If your unique customer identifier is a numerical value use stringbased field for the contact key
when you create the data extension with information from the external data source
Contact key values cant contain these characters

Contact Builder Implementation Guide

Contact Builder Best Practices

Find Consistent Information to Tie Potential Duplicate Contact Records
You cant merge or deduplicate contact information in Engagement Therefore you can see a contact that is represented twice within

the system For example a contact includes an email address in Email Studio and a separate device ID in MobilePush Use another

demographic value to help deduplicate this contact via an external service or partner Elimination of duplicate records keeps your
contact count lower and reduces billing costs and maintains the integrity of a unique contact record for marketing activities

Understand the Difference Between All Subscribers and All Contacts Lists
The All Contacts list includes all contacts in an Engagement instance The All Subscribers list specifically refers to subscriptions created
within Email Studio Email Studio references the All Subscribers list to prevent sends to unsubscribed email addresses However this

action applies only to Email Studio information and activities A contact can unsubscribe from a subscription in Email Studio and still

receive messages from other apps such as MobileConnect or MobilePush
By default Contact Builder uses a different demographic source of information for each channel The different demographic attribute
groups displayed in Contact Builder contain this information However the unique contact key value used to identify a specific contact
remains consistent for all channel apps To use a single set of demographic information for all channels create an attribute group in
Contact Builder Use that group as the source of information for your marketing activities Make that attribute group available to all
necessary users and copy to other business units within your account

Understand the Contact Record Deletion Process
To honor optouts we dont delete contacts in most situations While you can delete contacts related to Email Studio from Marketing
Cloud Engagement this deletion doesnt totally remove their information from Engagement We retain this information to ensure that
the appropriate email addresses dont receive messages from which they unsubscribed

Change ID Number Data Type Before Linking to Contact Key

If you use a numeric value to identify individual contacts change that data type to a string data type before linking that value to Contact
Key You cant directly link numeric values to Contact Key For best performance change the data type for your numeric identifiers before

importing contact information into Contact Builder Do not link numeric identifiers and the CustomerID value because this activity can

cause performance issues

Contact Builder Implementation Guide

Contact Delete Best Practices in Contact Builder

Link Attribute Groups and Populations Using Contact Key When Possible
Link attribute groups and populations using the contact key value Dont link using an email address field when the Contact Key or
Subscriber Key value is available If you must create a link using the email address create a text attribute containing the email address
and link using that value

Understand the Differences Between Contact ID and Subscriber ID versus

Contact Key and Subscriber Key
These system fields dont serve the same purpose in Marketing Cloud Engagement
Most customers use a primary identifier for their customers and link their identifier to Engagement using the Engagement Contact Key
or Subscriber Key value

The Contact ID and Subscriber ID fields act as surrogate keys used by internal Engagement systems You can see these fields in tracking

extracts and system data views in Query Activities To avoid performance issues dont use these values for Engagement activities

Limit Populations to Three Entities
Use populations to create large and distinct subgroups of your contacts then segment contact records from there For example a doctors
office creates populations for staff for patients and for vendors If you create populations in your account limit those populations to
three or fewer to improve performance

Contact Delete Best Practices in Contact Builder
Apply these best practices to implement Contact Delete All contact deletion processes are final and Marketing Cloud Engagement cant
restore deleted contact information
Contact Delete removes contact information across the entire enterprise for Enterprise accounts

This deletion affects all business units that share ClientID value as the MID of the account that initiated the deletion

If you use multiple Enterprise accounts perform the Contact Delete process for each account The deletion process requires
more time to remove contact information across a large number of business units
Child business units can include contact records created by triggered sends data operations such as queries or filters or

Synchronized Data Sources Delete those records using the child business unit MID in your request

Use ContactKey or ContactID values to delete contacts

If you linked multiple SubscriberKey or ContactKey values to a contact record perform the Contact Delete process for all values

To request the status for a single contact use an API request For large batches of deletions the suppression status shows for contacts

when the entire batch processes
To improve Contact Delete performance break your requests into at least six smaller requests and submit each request minutes
Data extension dataretention policies dont ensure regulatory compliance Use both Contact Delete and data retention policies to
help ensure full removal of data
We recommend setting data retention policies for a data extension when you first create it You can apply data retention policies
to new and existing data extensions However data extensions with more than million records cant accept retroactive data
retention policies
You cant reintroduce a contact that is in suppression or in the process of being deleted after the suppression period is over During
this time you cant perform any sends including transactional sends to that contact

Contact Builder Implementation Guide

Contact Delete Best Practices in Contact Builder

To more quickly remove contact information from your account set the suppression period length to Then the delete request is
immediately eligible for processing Deletion begins when the system has identified all the related contact data
The deletion process yields to other account activities such as sending imports automations and query activities These processes
take precedence over deletions As more activities run in the account the deletions require more time
The deletion process scans all sendable data extensions in an account to remove the specified contact records To improve the speed
of this process delete any unnecessary sendable data extensions in your account
Export any list or data extension to a backup file before you delete anything so that you can restart the contact delete process if
theres an error
You can delete up to one million records